获取 NSRangeException 超出界限崩溃
我的这段代码因错误而崩溃 *** 由于未捕获的异常“NSRangeException”而终止应用程序,原因:“*** -[NSArray objectAtIndex:]:索引 0 超出空数组的范围”
在这一行:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
MyObject *myCode = [self.fetchedResultsController objectAtIndexPath:indexPath];
}
我看不出这里有什么问题,它正在从获取中提取数据。
I have this code that is crashing with error *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSArray objectAtIndex:]: index 0 beyond bounds for empty array'
at this line:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
MyObject *myCode = [self.fetchedResultsController objectAtIndexPath:indexPath];
}
I don't see whats wrong here, it is pulling the data from a fetch.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
答案就在您的帖子中
'原因:'...索引 0 超出空数组的范围'
。您的 self.fetchedResultsController 是空的,现在您需要调查原因。注意:每当您修改表视图的基础数据时,您都需要通过调用
-[UITableView reloadData];
或beginUpdates
和endUpdates< 来更新更改/code> 方法然后添加或删除正确的索引路径。
The answer is right in your post
'reason: ' ... index 0 beyond bounds for empty array'
. Yourself.fetchedResultsController
is empty now you need to investigate why.Note: Whenever you modify the underlying data for a table view you need to update the changes by either calling
-[UITableView reloadData];
or thebeginUpdates
andendUpdates
methods then adding or removing the correct index paths.