2

在我的模型中,我得到了一個跟蹤元素數量變化的NSMutableArray。 在我看來,我得到了一個NSTextField,它顯示了元素的數量。
該視圖從nib文件中取消存檔,並且alloc/initsll。因此,它知道模型和包含的數組。如何將可可綁定作爲代碼寫入而不是在Interface Builder中?

我建立了連接如下。在界面生成器在文本框中,我添加了一個可可綁定「路徑」像這樣:[email protected]。通過這個我可以訪問count屬性(這是必須的,因爲數組本身並不是而是更改)。
該綁定基於鍵值合規性,我在該模型中建立了該合約,以便可以訪問該數組。但鍵值合規不是問題的一部分。

我的問題:我怎麼可以把綁定到源代碼,而不是它寫入Interface Builder中

回答

7

隨着NSKeyValueBindingCreation protocol。你發送類似[someObject bind:@"value" toObject:myModel withKeyPath:@"[email protected]" options:nil]

+0

我已經試過這個。如果我想更新myTextField,那麼你會參考someObject和「value」?我測試了以下內容: [self bind:@「myTextField」...] [self bind:@「myTextField。@ value」...] [myTextField bind:@「value」...] 上面的工作雖然。 – JJD 2010-06-03 11:02:09

+0

Nooooo,它顯然取決於你將要放置代碼的位置,但假設它正在某處對myTextField和myModel進行有效引用,綁定的參數是綁定的名稱。正如Chuck所說的:[myTextField bind:@「value」toObject:myModel withKeyPath:@「myArray。@ count」options:nil] – hooleyhoop 2010-06-03 12:40:24

+0

是的。現在我懂了。 [self.myTextField bind:@「stringValue」toObject:self.myModell withKeyPath:@「myArray。@ count」options:nil];需要注意的是IB中的textfield需要與成員變量myTextField有一些連接。 (objectValue而不是stringValue) - 謝謝你們! – JJD 2010-06-03 13:15:37

相關問題