我想以编程方式绑定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];
答案 0 :(得分:0)
有多个值绑定,特别是对于像enabled
这样的布尔值。这些是通过更改绑定属性的键来实现的。即enabled
,enabled2
,...因此,如果您使用相同的密钥两次,即使这种多值绑定也会删除现有的绑定。
但是,没有记录,是否删除了现有绑定,因此实现可以选择不同的行为。
为什么不显式删除现有绑定?这就是你想要做的。让代码明确说明,想要做什么是个好主意。