【发布时间】:2013-07-23 19:57:20
【问题描述】:
有人问过这个问题before,但没有得到回答。
我可以像这样绑定到对象:
[[aCellView textField] bind:@"stringValue"
toObject:myObject
withKeyPath:@"text"
options:nil]];
这很容易,因为我有一个myObject.text 值。
但是如何绑定到 NSString 呢?
[[aCellView textField] bind:@"stringValue"
toObject:aString
withKeyPath:@"" // What should the keyPath be?
options:nil]];
【问题讨论】:
-
Cocoa-touch 不支持可可绑定。您将获得的最接近的是 KVO。更多信息请看这里:stackoverflow.com/questions/3812972/…
-
或者只使用关联对象。
-
NSString是不可变的,绑定到一个永远不会改变的对象实际上没有意义... @H2CO3 阅读 OS X 上的绑定,这是一个定义明确的机制,它有更多与 KVO 相比,与关联对象有关(在 iOS 上不存在)。 -
关于这个问题最好的部分是
stringValue从来都不是一个有效的绑定。 -
不,字符串本身不会改变,它会被一个对先前值一无所知的不同对象替换。
标签: objective-c cocoa cocoa-bindings