Я пытаюсь удалить строку по конкретному индексу, но я получаю эту ошибку. Поскольку он показывает NSArray, но я использую NSMutableArray. Каким-то образом он насильно набирается.[__NSArrayI removeObjectAtIndex:]: непризнанный селектор, отправленный экземпляру
Эти два массива объявлены глобально.
NSArray *contacts;
NSMutableArray *sortedContacts;
В методе cellForRowAtIndexPath, я копирую NSMutableArray в NSArray для отображения данных в строках иначе непосредственно с помощью NSMutableArray, ключевые значения упущена.
contacts = [sortedContacts copy];
Это моя кнопка в строке, при нажатии на нее я хочу удалить всю строку с данными.
-(void)CancelButtonClicked:(UIButton*)sender
{
CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:buttonPosition];
[sortedContacts removeObjectAtIndex:indexPath.row];
[self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView reloadData];
}
@ Larme Он не называет 'removeObjectAtIndex' на' контактах'. – dasblinkenlight
@dasblinkenlight: Хорошая точка. Теперь мой вопрос заключается в том, какая строка точно вызывает крах. – Larme
@ Larme Я уверен, что это вызов '[sortedContacts removeObjectAtIndex: indexPath.row]', но в тот момент, когда 'NSArray' присваивается переменной, которая должна содержать ссылку на изменяемый массив. – dasblinkenlight