2011-06-14 37 views
0

我對Cocoa,Objective-C和OOP一般都很陌生。我每天都在學習。據「可可規劃爲Mac OS X的傻瓜」,你可以像這樣在Xcode中創建一個對象:將消息發送到在Interface Builder中創建的對象

myObject = [[Class_name alloc] init];

之後,你就可以根據Class_name decladed的方法來發送消息。到現在爲止還挺好。但昨天我跟着這個教程:Intro to Bindings,並注意到一些奇怪的事情。根據本教程,您必須在Interface Builder中創建一個NSArrayController對象。但是如果你想向控制器管理的數組添加一行,使用值來表示幾個NSTextFields,你需要調用它的AddObject方法,但是如何?我不知道對象名稱或標識符,對嗎?

回答

0

只需創建一個出口

IBOutlet NSArrayController *arrayController; 

並連接到arrayController它IB; 致電其方法使用[arrayController methodName];

+0

是的,我知道,但我想從代碼做到這一點。因爲通過這種方式(調用Add:方法),我的數組中有一個空行。我想用幾個TextFields的內容來填充它,或者我錯過了什麼? – Joran 2011-06-14 08:59:33

+0

如果我是正確的,你綁定到數組控制器的集合視圖(或其他東西)不會更新它的內容。如果是這樣,閱讀KVO指南[鏈接](http://developer.apple.com/library/mac/#featuredarticles/KeyValueObserving_QuickStart/Introduction/Introduction.html) – VenoMKO 2011-06-14 09:38:09

+0

呃,沒有那不正是發生了什麼事情。我需要向數組添加一行。顯然,這樣做的方法是通過調用數組控制器的addObject方法。數組控制器自動更新tableView。但是,如何從代碼中調用此方法?我可以在Interface Builder中完成,但是隻添加了一個空行。我想用一張表格來輸入一些內容,並將這些值用於新行。 – Joran 2011-06-14 17:56:37