应用程序崩溃突然导航更改iOS

时间:2013-01-16 11:21:12

标签: ios crash nsmutablearray uitabbarcontroller nsarray

我正在使用tabbar控制器创建一个iPhone应用程序。我有两个带tableview控制器的选项卡。在两个选项卡中都有一些Web服务调用,它会更新表内容。我正在使用加载指示器,并且所有服务调用都在使用waitUntilDone:YES的主线程上的后台线程和UI更新上执行。在正常情况下,一切都很完美。

但问题是,如果我反复突然更改标签,应用程序会崩溃并显示错误消息:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array'
*** First throw call stack:
(0x382a62a3 0x3338d97f 0x381f1b75 0x1521f9 0x362fb545 0x362e030b 0x362f77c7 0x362b3803 0x312d1d63 0x312d1901 0x312d2835 0x312d221b 0x312d2029 0x362b98eb 0x3827b6cd 0x382799c1 0x38279d17 0x381ecebd 0x381ecd49 0x3a0ec2eb 0x363042f9 0xcd317 0xc0b70)
libc++abi.dylib: terminate called throwing an exception

我知道,因为尝试从NSArray访问没有内容的值。但是,这有什么共同的原因吗?我的意思是,如果我以正常速度更换标签,则没有问题。但是,如果我尝试更改选项卡,只需在加载指示器结束后,应用程序崩溃。我无法在代码上跟踪此信息。崩溃发生在main.m

请分享您的想法。

更新

问题发生在

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

at

   songTitle.text = [songTitleSH objectAtIndex:indexPath.row];
    albumTitle.text = [albumNameSH objectAtIndex:indexPath.row];
    artistName.text = [artistNameSH objectAtIndex:indexPath.row];
    commentDateLbl.text = [playDateSH objectAtIndex:indexPath.row];

我在这些数组中得到NULL值,这导致了这个问题。那么,我该如何克服这个问题呢?有什么想法吗?

0 个答案:

没有答案