【发布时间】:2012-08-09 16:17:53
【问题描述】:
在我的应用程序中,我有一个 UITableView 和一些按钮,用户可以单击这些按钮根据一些 NSDate 或整数对数组进行排序。所以这是我尝试对 UITableView 进行排序的方法:
- (void)sortStats:(id)sender reloadData:(BOOL)dataBool {
NSSortDescriptor *descriptor = nil;
UIButton *clickedButton = (UIButton*)sender;
if (clickedButton.tag == 1) {
descriptor = [NSSortDescriptor sortDescriptorWithKey:@"Date" ascending:NO];
}
[self.cellArray sortUsingDescriptors:[NSArray arrayWithObject:descriptor]];
[[NSUserDefaults standardUserDefaults] setObject:self.cellArray forKey:@"cellArray"];
if (dataBool) {
[ivstatstableView reloadData];
}
[ivstatstableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
}
所以最初我只是在没有 reloadData 参数的情况下使用了这个方法,因为 UITableView 上的 reloadData 似乎导致了崩溃。
这是控制台崩溃日志:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*** -[__NSPlaceholderArray initWithObjects:count:]: 尝试从 objects[0] 插入 nil 对象”
无论如何,这里是否有任何代码会导致此崩溃?我真的很想让这个功能在我的应用程序中运行,我知道我即将修复它,但我不确定是什么导致了这个问题。
有什么想法吗?
【问题讨论】:
标签: ios arrays uitableview null datasource