因此,我将此文本字段someField
绑定到InterfaceBuilder(IB)中的属性someText
。 我的代码中的任何地方,当我更改someText
,someField
相应的内容更新,反之亦然。在更改-observeValueForKeyPath:ofObject属性时,可可绑定不起作用:ofObject:change:context:
任何地方,但在方法-observeValueForKeyPath:ofObject:change:context:
事实上我观察someText
这样,当在文本字段中的值发生改变时,结合修改someText
,我可以对它进行一些验证。 发生这种情况时,我可以做到以下几点:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
[...]
//keyPath is @"someText"
if (enteredValueIsNotValid) {
[object setValue:validValue forKey:keyPath];
}
[...]
}
调用[object setValue:validValue forKey:keyPath]
后,someText
了价值validValue
。就像预期的一样。但因为有一个招标,我也希望看到validValue
显示在我的文本字段someField
。但它不会发生!
我明显失去了一些东西,但无法弄清楚什么。任何帮助将不胜感激!干杯。
嘿Baldoph,好奇,为什么你删除了你的问题[这里](http://stackoverflow.com/q/36502630/2415822)。你找到答案了吗? – JAL
@JAL现在只是看到你的问题,我很抱歉!我完全忘记了为什么我需要这个,为什么我把它删除......这里没有太多的帮助,我很害怕:/ – Baldoph