我应该在绑定之前取消绑定吗?

问题描述 投票:-2回答:1

我想以编程方式绑定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];
objective-c cocoa cocoa-bindings
1个回答
0
投票

有多个值绑定,尤其是对于像enabled这样的布尔值。这些是通过更改绑定属性的键来实现的。即enabledenabled2,...因此,如果您使用相同的密钥两次,即使这个多值绑定也会删除现有的绑定。

但是,没有记录,是否删除了现有绑定,因此实现可以选择不同的行为。

为什么不显式删除现有绑定?这就是你想要做的。拥有明确说明,想要做什么的代码是个好主意。

© www.soinside.com 2019 - 2024. All rights reserved.