Есть что-то неожиданное, что я не могу разобраться. У меня есть alertController
с textfields
. Я пытаюсь получить строковое значение одного из них. Все работает нормально, когда длина строки меньше 11 символов. Выше этого порога строка равна null
.UIAlertController: текстовое поле, не возвращающее строку
Может ли кто-нибудь дать мне подсказку о том, что происходит?
Только в случае, я положил мой код ниже:
[alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
textField.placeholder = @"Name";
textField.textColor = [UIColor blueColor];
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
textField.borderStyle = UITextBorderStyleRoundedRect;
}];
[alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
NSArray *textfields = alertController.textFields;
UITextField *nameTextfield = textfields[0];
self.textFieldString = nameTextfield.text;
NSLog(@"self.textFieldString is: %@", self.textFieldString); // -> this returns a null value when the string length is > 11
}]];
Спасибо!
У вас есть решения? –
Еще нет, но у меня не было времени копать (больной ...). Я дам вам знать. Thx за вопрос! – Trichophyton
Очевидно, проблема связана с «слабым» присвоением свойств, но я не могу понять, почему он работал с более короткой длиной строки. Загадка. Но спасибо за помощь! – Trichophyton