При получении Значения UITextField, поскольку вводятся нажатия клавиш?

Неустранимая ошибка: [TraitA] и [TraitB] определяют одно и то же свойство ([$ x]) в композиции [ClassC]

Происходит, когда класс пытается use несколько Черты , где две или более из этих признаков имеют , определяют свойство с тем же именем и с свойством, имеющим разные начальные значения.

Пример:

Проблемное: хотя можно разрешить конфликты между конкурирующими методами , в настоящее время нет синтаксиса, который бы разрешил конфликт между двумя конкурирующими свойствами. Единственное решение в это время - refactor ; т.е. избежать конфликта между именами свойств, которые приводят к фатальной ошибке.


Вопросы, относящиеся:

107
задан jszumski 28 April 2013 в 15:06
поделиться

3 ответа

Это складывается, самый легкий способ сделать, это использует Интерфейсного Разработчика:

  • Добавляют, что IBAction (к ViewController, скажем, как в этом случае)
  • Щелкает при нажатой клавише Ctrl (или щелчок правой кнопкой) на UITextField в Интерфейсном Разработчике
  • Подключение событие "Editing Changed" к IBAction Владельца Файла, добавленному в первом шаге.

Работы как очарование:) (я не могу полагать, что провел многочисленные дни на это, и понять теперь, когда решение было намного более простым, чем, я думал: P)

195
ответ дан PlagueHammer 24 November 2019 в 03:35
поделиться

Вы могли зарегистрировать действие для события UIControlEventEditingChanges на текстовом поле:

[nameTextField addTarget:self action:@selector(updateLabelUsingContentsOfTextField:) forControlEvents:UIControlEventEditingChanged];

...

// TODO: error checking

- (void)updateLabelUsingContentsOfTextField:(id)sender {

    greetingLabel.text = [NSString stringWithFormat:@"Hello %@", ((UITextField *)sender).text];

}
101
ответ дан 24 November 2019 в 03:35
поделиться

UITextField имеет уведомление UITextFieldTextDidChange, которое будет запущено каждый раз текстовые изменения, если Вы зарегистрируетесь для него. Просто регистр для того уведомления и в методе, названном уведомлением, измените текст маркировки.

Для добавления к этому объект, переданный обработчику уведомлений, будет иметь текст UITextField.

Hope, которая помогает.

10
ответ дан rihe 24 November 2019 в 03:35
поделиться