在我的应用程序中,我有一个UITableView和一些按钮,用户可以点击这些按钮来根据一些NSDate或ints对数组进行排序。因此,这是我尝试对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会导致崩溃。
这是控制台崩溃日志:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0]'
无论如何,这里是否有任何代码会导致崩溃? 我真的想让我的应用程序中的此功能正常工作,我知道我快要修复它了,但我不确定是什么原因导致了这个问题。
有什么想法吗?