2013-07-23 38 views
0

這個問題被問到before,但它沒有回答。我如何綁定到NSString?

我可以綁定到的對象,像這樣:

[[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]]; 
+0

可可觸摸不支持可可綁定。你會得到最接近的是KVO。看到這裏更多:http://stackoverflow.com/questions/3812972/is-there-any-data-binding-mechanism-available-for-ios – danielbeard

+0

或者只是使用關聯的對象。 – 2013-07-23 20:02:56

+0

我不小心加了可可觸摸。我現在已經移除了Cocoa-touch標籤。 @ H2CO3你說keypath應該是@「associatedObjects」? –

回答

2

可以綁定到個別對象,但不是臨時工。我們將關鍵路徑綁定的原因之一是對變量的生命週期以及綁定有更多的瞭解。讓aString調用對象的屬性,並與aString綁定到self作爲關鍵路徑:

[[aCellView textField] bind:NSValueBinding toObject:self withKeyPath:@"aString" options:@{}]; 
+0

謝謝。像一個老闆一樣。 –