Хорошо, я действительно застрял в этом. У меня есть метод, который срабатывает при изменении текста UITextField
. Функция срабатывает без проблем, но когда код [(UITextField *)sender setText:@""];
запускает приложение, выдается ошибка с плохим доступом.Изменение текста UITextField из обратного вызова вызывает EXC_BAD_ACCESS
Как я могу просто изменить текст текстового поля?
EDIT: Я проверил, если отправитель был равен нулю с
if(sender != nil)
[(UITextField *)sender setText:@""];
и я проверил, если это был UITextField с
if([sender isKindOfClass: [UITextField class]])
[(UITextField *)sender setText:@""];
И если заявления прошло, но Bad Ошибка доступа по-прежнему брошен на линии
[(UITextField *)sender setText:@""];
Показать всю реализацию метода и предоставить любую информацию об исключении, которое у вас есть (добавьте точку останова исключений, если вы не можете определить, в какой строке она происходит). – Wain
Действительно ли ваш отправитель текстового поля? попробуйте 'NSLog («% @ », NSStringFromClass ([sender class]);', чтобы увидеть, что это такое – katzenhut
@katzenhut Неправильный класс не вызовет ошибку сегментации. Это приведет к тому, что 'NSException' будет передано с сообщением типа «непризнанный селектор, отправленный в класс/экземпляр XYZ». –