我想知道一個如何實施,如一個的Xcode 3的概略圖不同的細胞(和數據類型)NSTableView的是使用用於生成配置:實施NSOutlineView /每
alt text http://img812.imageshack.us/img812/9467/xcodeoutlineview.png
當使用具有綁定的NSOutlineView/NSTableView和NSTreeController/NSArrayController,出於顯而易見的原因,視圖的列獲得分配給的綁定,而不是單個單元。 如果一列中的每一行都使用同一個單元格,那麼它就是小菜一碟。但是,如果每行(可能)使用自己的單元格類型(並且可能包含它自己的綁定集合),那麼情況會變得很怪異。
查看屏幕截圖可以清楚地看到,textfield單元格只需要一個「值」的綁定。而彈出按鈕單元至少需要一個「內容」,一爲「contentValues」和最後但並非最不重要一個「的selectedIndex/selectedObject/了selectedValue」結合。並且複選框單元需要「值」和(可能)一個用於「標題」的綁定。
如何以儘可能乾淨的(儘可能少的)代碼實現這一點?
(或者像有人可能會問:如何將蘋果已經做到了?)
...
這裏就是我試過自己至今:
我提供適當的(複製)細胞通過[outlineView:dataCellForTableColumn:item:]並將它們綁定到各個數據模型(來自[itemrepresentObject])。 我知道在大綱視圖中顯示的數據的確切數量(< 500行),因此每行有一個單元不應該是太多的內存問題,不是? 我得到數據通過綁定(yay!)正確顯示但我無法更改它們的任何值。 O_o 顯然,值更改根本不會傳遞給數據模型。有沒有比簡單的[checkboxCell bind:@「value」toObject:rowModel withKeyPath:@「value」options:nil]? (因爲這似乎足夠爲越來越值,而不是設置他們相應。)
我找不到關於這個主題的信息。很多關於每列使用自定義單元格的信息和提示,但沒有在「每行」基礎上使用它們的信息和提示。 :(
這將使一些可可教程的偉大的東西,不是嗎?;)
還有NSDictionaryController。不知道它會讓你走多遠,但看一看。 – 2010-08-01 21:05:12
@Mike它不是控制器的問題,而是處理其單元格的表視圖之一。但是,無論如何感謝:) – Regexident 2010-08-02 00:25:31
差不多5年後,這是我能找到的關於在具有不同單元格的表格上將數據源綁定到數據源的唯一信息,「這對於Cocoa教程來說會是一些不錯的東西,不是嗎?」 ,是的! – rraallvv 2015-03-12 04:05:42