我正在使用NSCollectionView
來顯示各種對象。整個事情工作得很好,除了一件煩人的事情。我無法弄清楚如何訪問用於表示集合中每個對象的視圖上的各種控件。訪問NSCollectionView的視圖控件
這裏的設置:
- 我已經拖了
NSCollectionView
到我在IB視圖。 - 我做了一個
NSCollectionViewItem
的自定義子類。在IB中映射我的課程。 - 我做了
NSBox
的自定義子類作爲集合中每個對象的視圖。也在IB中映射此類並將其連接到我的NSCollectionViewItem
子類的view
屬性。 - 我讓IB中的所有綁定都顯示每個對象的正確信息。
的視圖:
所得集合視圖:
推理我的NSCollectionViewItem
子類基本上是爲集合中的每個視圖的控制器,我在控制器子類中引用了視圖中各個控件的插口:
@interface SourceCollectionViewItem : NSCollectionViewItem
@property (weak) IBOutlet NSTextField *nameTextField;
@property (weak) IBOutlet NSTextField *typeTextField;
@property (weak) IBOutlet RSLabelView *labelView;
@property (weak) IBOutlet NSButton *viewButton;
@end
當我在調試器檢查的SourceCollectionViewItem
任何情況下,所有屬性顯示爲無盡管事實上,我可以清楚地看到他們我的屏幕上顯示,一切都理所應當的。
我的設置受到蘋果示例應用程序IconCollection的啓發。
我明顯錯過了一些東西。什麼?
編輯:我發現各種帖子暗示在類似的問題: CocoaBuilder.com和this question SO。
編輯:只是要完成:this post處理該主題,並提供了一個解決方案基於接受答案中提到的選項的組合。
第二次編輯中的鏈接被打破。但是我通過[WayBack Machine]找到博客文章(https://web.archive.org/web/20120124050817/http://benedictcohen.co.uk/blog/archives/72) – 2014-08-19 22:33:26