Iphone 表视图崩溃应用程序

Iphone 表视图崩溃应用程序,iphone,ios,tableview,Iphone,Ios,Tableview,我正在尝试iphone编程。我一直在遵循这个教程,但它似乎不适合我。 我已经检查了几次代码,似乎都是正确的,但当我运行应用程序并按下tableview时,应用程序崩溃了。没有错误或警告。任何帮助都将不胜感激。这是代码 @implementation SimpleTableViewController { NSArray *tableData; } - (void)viewDidLoad { [super viewDidLoad]; // Initialize table data table

我正在尝试iphone编程。我一直在遵循这个教程,但它似乎不适合我。

我已经检查了几次代码,似乎都是正确的,但当我运行应用程序并按下
tableview
时,应用程序
崩溃了
。没有错误或
警告
。任何帮助都将不胜感激。这是代码

@implementation SimpleTableViewController
{
NSArray *tableData;
}

- (void)viewDidLoad
{
[super viewDidLoad];
// Initialize table data
tableData = [NSArray arrayWithObjects:@"one", @"Two", @"Three", @"Four", @"five",      nil];
} 


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger) section
{
return [tableData count];
} 


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleTableItem";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}

cell.textLabel.text = [tableData objectAtIndex:indexPath.row];
return cell;
} 
我正在接收
EXC\u BAD\u访问

这是回溯 (gdb)回溯

#0  0x00efe5a8 in objc_exception_throw ()
#1  0x00d62628 in +[NSException raise:format:arguments:] ()
#2  0x00d6259a in +[NSException raise:format:] ()
#3  0x00362b75 in -[UIViewController _loadViewFromNibNamed:bundle:] ()
#4  0x00360709 in -[UIViewController loadView] ()
#5  0x003605e3 in -[UIViewController view] ()
#6  0x0035ea57 in -[UIViewController contentScrollView] ()
#7  0x0036f201 in -[UINavigationController _computeAndApplyScrollContentInsetDeltaForViewController:] ()
#8  0x0036d831 in -[UINavigationController _layoutViewController:] ()
#9  0x0036eb4c in -[UINavigationController _startTransition:fromViewController:toViewController:] ()
#10 0x00369606 in -[UINavigationController _startDeferredTransitionIfNeeded] ()
#11 0x0037083e in -[UINavigationController pushViewController:transition:forceImmediate:] ()
#12 0x003694a0 in -[UINavigationController pushViewController:animated:] ()
#13 0x000022cf in -[PocketHusbandViewController displayCarView:] (self=0x4e12870, _cmd=0x31d2, sender=0x4e16f30) at /Users/wayne/Desktop/programming/Pocket Husband/Classes/PocketHusbandViewController.m:21
#14 0x002b2a6e in -[UIApplication sendAction:to:from:forEvent:] ()
#15 0x003411b5 in -[UIControl sendAction:to:forEvent:] ()
#16 0x00343647 in -[UIControl(Internal) _sendActionsForEvents:withEvent:] ()
#17 0x003421f4 in -[UIControl touchesEnded:withEvent:] ()
#18 0x002d70d1 in -[UIWindow _sendTouchesForEvent:] ()
#19 0x002b837a in -[UIApplication sendEvent:] ()
#20 0x002bd732 in _UIApplicationHandleEvent ()
#21 0x016dfa36 in PurpleEventCallback ()
#22 0x00d8b064 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#23 0x00ceb6f7 in __CFRunLoopDoSource1 ()
#24 0x00ce8983 in __CFRunLoopRun ()
#25 0x00ce8240 in CFRunLoopRunSpecific ()
#26 0x00ce8161 in CFRunLoopRunInMode ()
#27 0x016de268 in GSEventRunModal ()
#28 0x016de32d in GSEventRun ()
#29 0x002c142e in UIApplicationMain ()
#30 0x00001e90 in main (argc=1, argv=0xbfffefd4) at /Users/wayne/Desktop/programming/
我想问题可能就在这里,当我调用视图时

-(IBAction)displayView:(id)sender {
carMainViewController *carViewController = [[carMainViewController alloc]initWithNibName:@"carMainViewController" bundle:[NSBundle mainBundle]];
[carViewController.navigationItem setTitle:@"Cars"];
[self.navigationController pushViewController:carViewController animated:YES];
[carViewController release];
}


有什么想法吗?

你的代码非常适合我

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
这不是必需的协议方法,但它通常用于使应用程序正常运行。当然,省略这个方法是可以的

也许您应该检查您的类是否符合
UITableViewDataSource
UITableViewDelegate
。然后检查IB中的tableview是否已设置其数据源并委托给文件所有者

编辑:

您可以从断点导航器添加异常断点,以查找引发异常的确切位置。请给出一些更详细的错误日志


您的代码非常适合我

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
这不是必需的协议方法,但它通常用于使应用程序正常运行。当然,省略这个方法是可以的

也许您应该检查您的类是否符合
UITableViewDataSource
UITableViewDelegate
。然后检查IB中的tableview是否已设置其数据源并委托给文件所有者

编辑:

您可以从断点导航器添加异常断点,以查找引发异常的确切位置。请给出一些更详细的错误日志


像以下代码一样保留阵列:

 tableData = [NSArray arrayWithObjects:@"one", @"Two", @"Three", @"Four", @"five",      nil];
[tableData retain];

我希望这段代码对您有用。

像以下代码一样保留您的数组:

 tableData = [NSArray arrayWithObjects:@"one", @"Two", @"Three", @"Four", @"five",      nil];
[tableData retain];


我希望这段代码对你有用。

你能在这里发布完整的调用堆栈日志吗?我已经添加了一个不同的注释,你为什么不使用ARC?@DarshanKunjadiya:没有必要让他们看你的答案,他们会在收到回复后自动收到通知。你能在这里发布完整的调用堆栈日志吗?我已经在另一个注释中添加了回溯,你为什么不使用ARC?@DarshanKunjadiya:没有必要让他们查看你的回复,无论何时发布答案,他们都会自动收到通知。他们在IB中连接正确。这意味着什么?也许您应该检查您的类是否符合UITableViewDataSource和UITableViewDelegate。你能解释一下头文件中的@arcticfox吗?应该有这样一行:
@interface CSViewController:UIViewController
我只运行xcode 3.2.5,除了控制台之外,不知道如何显示错误日志。谢谢你的耐心-arcticfox@WayneMcfayden如果你只是在“尝试你的手”,那么不要使用超过2年的Xcode版本。它们在IB中连接正确。这意味着什么?也许你应该检查你的类是否符合UITableViewDataSource和UITableViewDelegate。你能解释一下头文件中的@arcticfox吗?应该有这样一行:
@interface CSViewController:UIViewController
我只运行xcode 3.2.5,除了控制台之外,不知道如何显示错误日志。谢谢你的耐心-arcticfox@WayneMcfayden如果你只是在“尝试你的手”,那么不要使用已经使用了2年以上的Xcode版本。感谢所有人的帮助。感谢所有人的帮助。