我有一个非常基本的NSCollectionView设置。我有一个子类的NSCollectionViewItem,用作集合 View 的itemPrototype。集合 View 项具有一个 View 。

使用Interface Builder,我在集合 View 项的 View 中添加了NSImageView,并将IBOutlet连接到集合 View 项子类的实例。 IBOutlet的属性使用retain进行内存管理。

我的目标是每当集合 View 项的选择状态更改时,都隐藏或显示此 ImageView 。但是在setSelected:方法中,我的 ImageView 属性为nil,即使我100%确定其 socket 已连接,其属性设置为保留,但我尚未取消设置或释放 ImageView 。

我对集合 View 项有一个类似的问题,其中添加到 View 的事件指示器也始终为零。为什么会发生这种情况,我需要怎么做才能解决?

最佳答案

到目前为止,应该定义(弱)指向nib/xib文件中非顶级对象的IBOutlets。

您确定您正确更改了NSCollectionView项目的类吗?

插入setSelected:并在调试器控制台中执行自检时,您看到类的名称了吗?

关于cocoa - NSCollectionViewItem的 View 的 subview 始终为nil,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14778089/

10-16 00:50