В моем приложении у меня есть 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, потому что казалось, что reloadData в UITableView вызывает сбой.
Вот что такое аварийный журнал консоли:
Завершение приложения из-за неперехваченного исключения "NSInvalidArgumentException", причина: "*** - [__ NSPlaceholderArray initWithObjects: count:]: попытка вставить нулевой объект из объектов [0] '
Во всяком случае, есть ли здесь код, который мог бы вызвать этот крах? Я действительно хочу, чтобы эта функциональность работала в моем приложении, и я знаю, что я близок к ее исправлению, но я просто не уверен, что вызывает эту проблему.
Любые идеи?