2011-02-06 77 views
1

我無法得到我的頭:我有一個實例NSMutableArray充滿自定義Lesson對象。這些對象有兩個propertiesnameselected。我試圖在NSTableView中使用這些Lesson對象。一列應顯示name作爲字符串,其他selected作爲複選框。我用可可綁定+ NSArray +自定義類

- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex 

方法返回的名字,這工作得很好,但返回的selected價值不能按預期工作 - 這可能是因爲該方法被調用過於頻繁。

所以,這可以很容易地解決使用數據源方法,或者我應該使用Interface Builder並設置一些綁定?後者聽起來更好,但我不知道如何將自定義對象的設置 - NSArray帶入IB。

我將不勝感激一些想法,費邊

回答

1

看來,bindins將工作在你的情況還不錯。 您應該使用一個NSArrayController綁定到您的課程對象數組,我們稱它爲「lessonsArray」。 選擇NSArray控制器並將其「型號關鍵路徑」設置爲「課程陣列」。 您必須創建setter和getter到「lessonsArray」,否則它將無法工作。

將綁定綁定到NSArrayController後,必須將NSTableView綁定到它。在現實中,你現在真正需要綁定的是NSTableColumns,我想你有兩個:name和selected。其綁定到NSArrayController的這個配置: 控制鍵:arrangedObjects 型號主要路徑:選擇

我希望我能理解並幫助你。祝你好運

相關問題