私のアプリケーションには、UITableView と、ユーザーがクリックして NSDate または int に基づいた順序で配列を並べ替えることができるいくつかのボタンがあります。だから、これは私の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];
}
UITableView の reloadData がクラッシュを引き起こしているように見えたので、もともとは reloadData パラメータなしでこのメソッドを使用していました。
コンソールのクラッシュ ログは次のとおりです。
キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '*** -[__NSPlaceholderArray initWithObjects:count:]: オブジェクト [0] から nil オブジェクトを挿入しようとしています'
とにかく、このクラッシュの原因となるコードはここにありますか? 私は本当にこの機能を自分のアプリで動作させたいと思っています。修正に近づいていることはわかっていますが、この問題の原因がわかりません。
何か案は?