-4

我有两个不同UIViewController的s。

一个有一个NSMutableArray订阅,它加载到一个UITableView.

第二个控制器执行一些操作,并在代码的某些部分重新加载所有订阅。

当我打开第一个控制器时,我使用该ViewDidAppear方法重新加载表数据(订阅)。在此操作期间,有时我的应用程序崩溃。我想是因为我在后台重新加载表格时订阅列表正在发生变化。

有没有办法即时重新加载表格并让用户滚动表格并同时重新加载它?

有关错误的更多信息

Uncaught exception: *** -[__NSArrayM objectAtIndex:]: index 3 beyond bounds [0 .. 2]

有 2 个订阅始终存在...TableView尝试访问索引 3

有关错误的更多信息

4

3 回答 3

0

您需要将部分中的行数返回为数组中对象的总和。

return [self.theArrayWithTheData count];

您的问题是,当您使用不同的数组重新加载时,它会使用旧的行数,因此当您滚动过去时会崩溃。

于 2013-07-15T14:35:03.920 回答
0

订阅列表加载完成后调用 tableview reload 方法。如果您使用单独的类来加载订阅,您可以使用委托通知您的主视图控制器订阅的加载已完成。否则你可以使用 NSNotificationCenter。

于 2013-07-15T13:10:46.760 回答
0

重新加载数据将有助于避免在调用 [__NSArrayM objectAtIndex:] 之前使用全局变量对行数进行计数检查数组索引。

于 2013-07-15T22:12:16.177 回答