Я сделал подкласс UITextField. когда я выбираю клавиатуру, происхожу EXC_BAD_ACCESS

Я сделал это.

заголовок

#import 

typedef BOOL (^validationType)(UITextField *textField);

@interface GLPValidationTextField : UITextField

@property (copy, nonatomic) validationType validation;

@end

тело

#import "GLPValidationTextField.h"

@implementation GLPValidationTextField

@synthesize validation;

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
       //Initialization code
    }
    return self;
}

- (id)initWithCoder:(NSCoder *)inCoder {
    if (self = [super initWithCoder:inCoder]) {
        self.delegate = self;
    }
    return self;
}



#pragma - mark UITextField delegate

-(BOOL) textFieldShouldEndEditing:(UITextField *)textField{
    return validation(textField);
}

и, установите Этот TextField с IB.

и, используйте это

[self.mailTextField setValidation:validationBlock];

this is work.

-(BOOL) textFieldShouldEndEditing:(UITextField *)textField{
    return validation(textField);
}

этот метод называют. Я могу проверка.

но, когда я выбираю клавиатуру с кнопкой как земной шар (измените английскую Клавиатуру на японскую Клавиатуру или что-то), происходите EXC_BAD_ACCESS в Симуляторе.

Позвольте Зомби, но утешьте ничего не, показывают.

Что, происходят? когда я выбираю клавиатуру. почему действительно происходил EXC_BAD_ACCESS?

когда всегда происходят EXC_BAD_ACCESS шоу XCode

libobjc.A.dylib`lookUpMethod:
0x1647a9a:  pushl  %ebp
0x1647a9b:  movl   %esp, %ebp
0x1647a9d:  pushl  %ebx
0x1647a9e:  pushl  %edi
0x1647a9f:  pushl  %esi
0x1647aa0:  subl   $28, %esp
0x1647aa3:  calll  0x1647aa8                 ; lookUpMethod + 14//Thread 1:EXC_BAD_ACCESS
1
nl ja de
Нет. Я сдался, чтобы сделать подкласс.
добавлено автор shingo.nakanishi, источник
Позвольте Зомби и затем отследите с надлежащей причиной катастрофы.
добавлено автор Reno Jones, источник
Проверьте, что ваша проверка блокирует! = ноль.
добавлено автор nielsbot, источник
Плохой доступ может произойти, когда вы пытаетесь использовать объект, который был выпущен. Если вы позволяете зомби, необходимо быть в состоянии видеть какой объект it' s терпящий неудачу на. Чтобы позволить зомби, пойдите, чтобы отредактировать схему и в последнем счете (диагностика), тиканье Позволяет Объекты Зомби коробка
добавлено автор Bob Vork, источник
Вы решали проблему?
добавлено автор Jonathan Gurebo, источник

Ответов нет

0
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.