Должен ли я отвязать перед связыванием?

Я хотел бы программно связать в NSTextField и изменить его во время выполнения. У меня есть вопрос. Нужно ли отменять привязку перед новой привязкой? например:

[_noteTextField bind:@"value" toObject:self withKeyPath:@"project.saveNote" options:nil];
[_noteTextField unbind:@"value"];
[_noteTextField bind:@"value" toObject:self withKeyPath:@"project.note" options:nil];

Это правильно? Или, может быть, мне не нужно отвязывать

[_noteTextField bind:@"value" toObject:self withKeyPath:@"project.saveNote" options:nil];
[_noteTextField bind:@"value" toObject:self withKeyPath:@"project.note" options:nil];

1 ответ

Есть несколько привязок значений, особенно для логических значений, таких как enabled, Они реализуются путем изменения ключа для связанного свойства, т.е. enabled, enabled2,… Поэтому даже эти многозначные привязки удаляют существующую привязку, если вы дважды используете один и тот же ключ.

Однако не задокументировано, удалена ли существующая привязка, и, следовательно, реализация может выбрать другое поведение.

Почему вы не хотите явно удалить существующую привязку? Это то, что вы хотите сделать. И это хорошая идея иметь код, который явно говорит, что он хочет делать.

Другие вопросы по тегам