在我的应用程序中,我有一个 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:]:尝试从对象 [0] 插入 nil 对象”
无论如何,这里是否有任何代码会导致此崩溃?我真的很想让这个功能在我的应用程序中工作,我知道我即将修复它,但我不确定是什么导致了这个问题。
有任何想法吗?