У меня есть UITableView с пользовательской ячейкой, где UITextField находится, я назначаю следующее действие своему UITeextfield для записи данных в nsmutablearray
[textFieldCell.textfield addTarget:self action:@selector(textChanged:) forControlEvents:UIControlEventEditingChanged];
и функцию
- (void)textChanged:(UITextField *)source
{
NSString *str= source.text;
NSUInteger itager = (([self.tableView indexPathForCell:(TextFieldCell *)[[source superview] superview]].row)-1);
[collectedAnswersArray replaceObjectAtIndex:itager withObject:str];
NSLog(@"replacing at %i = %@",itager,[collectedAnswersArray objectAtIndex:itager]);
}
Atконец таблицы У меня есть последняя ячейка, в которую я вставляю запись, когда она щелкает. Я записываю данные в базу данных из изменяемого массива.
Проблема, с которой я сталкиваюсь, вызывает сбой приложения, если мой фокус все еще находится в текстовом поле.и по какой-то странной причине он пропускает исключение обратно в эту строку: [collectAnswersArray replaceObjectAtIndex: itager withObject: str];говорят, что 489045358493 за пределами диапазона. Но речь не о диапазоне.Если я отклоняю клавиатуру, все в порядке.
Как освободить фокус от текстового поля, которое больше не видно в моем текстовом поле.Потому что у меня есть ощущение, что в нем есть какая-то ссылка на это текстовое поле или что-то еще, и это его вызывает.