2010-08-20 31 views
1

裏面我有這兩個類:NSCollectionView另一NSCollectionView

@interface Father : NSObject 
{ 
    NSString* name; 
    NSArray* listChildren; 
} 

@property (copy, readwrite) NSString* name; 
@property (copy, readwrite) NSArray* listChildren; 

@end 

@interface Child : NSObject 
{ 
    NSString* nameChild; 
    NSImage* picture; 
} 

@property (copy, readwrite) NSString* nameChild; 
@property (copy, readwrite) NSImage* picture; 

@end 

我試圖讓充滿FatherNSCollectionView,併爲每個父親項目的View我將有一個名稱標識,另一個NSCollectionView填充與(父親)representedObject.listChildren項目。

我已經成功地創建了父親NSCollectionViewItemView,使事情變得更容易外部NIB文件,但我不能給孩子CollectionView綁定到representedObject.listChildren財產。實際上,在IB中綁定沒有問題,並且在運行時系統實際上調用了屬性(我已經添加了執行和一個NSLog調用以確保該屬性被調用)。看來CollectionView的內核不會加載在我的NSArray *屬性中找到的項目嗎?

這讓我發瘋,對發生了什麼事情有任何想法? 請幫助!

+0

可能重複:HTTP:/ /stackoverflow.com/questions/2204147/debugging-nested-nscollectionviews 那裏沒有答案。哎呀! – andyvn22 2010-08-20 20:48:41

+0

這些問題的任何更新或答案? – Prasanth 2014-10-05 19:36:21

回答

0

我有完全相同的問題,我找到了解決方案!

我是Objective C和Cocoa的完全新手,所以我沒有完全理解爲什麼這不起作用的原因。也許別人可以啓發我們。

在我的第一次嘗試中,我只是在默認MainMenu.xib中做了所有事情。這樣你最終得到兩個NSArrayController。現在顯然,如你所懷疑的那樣,問題在於內部物品的第二個NSArrayController。它以某種方式沒有被正確地「複製」。提取每個NSView到它自己的.xib解決了這個問題。

其實這discussion讓我開始在正確的方向。後來我發現/瞭解這是@ user493638已經暗示的基本相同的想法。

結合這個知識與教程here,關於如何提取視圖到自己的.xib爲我解決了這個問題!

我又不懂目標C和Cocoa遠遠不夠充分理解其深層原因針對此行爲,誰知道這一切結合魔法罩下究竟是如何工作的...

+0

你能分享一個你剛纔做的樣品嗎? – Prasanth 2014-10-05 19:36:39