我有一个问题,它似乎我能够将项目添加到集合视图,并具有我从NSCollectionViewItem的子类创建的原型单元格,但是当我尝试按顺序更改标签显示数据是因为它们是零,即使我将它们从界面构建器连接起来,也会得到错误。IBOutlets在NSCollectionViewItem是零
我也通过向单元格攻击mouseup函数进行打印检出了representObject属性,并且它工作正常。当我试图分配显然不存在的插座的stringValue时,它只会分崩离析。
楼下,你可以看到我的故事板和控制该项目的意见。 标签对象在下面表示为两个@IBOutlets
。 representedObject
正在别名为var morpheme : Morpheme?
在这里,在主窗口控制器我测试了刚刚加入Morpheme
对象集合与我想用填充标签测试值。
显示屏显示在列表中的细胞,但是当我点击他们崩溃,由于从表面上未初始化网点nil
值。如果您在控制台中查看Morpheme 3
已成功打印,则数据模型已将其打印出来。是否还需要执行其他任何操作?有很多关于使用绑定菜单漂浮的东西,但我还没有发挥它周围很多。
谢谢!这有助于初步的绑定问题。现在看来我仍然有一些问题,列表仍然显示空白,我发现这是因为当单元格试图显示他们的数据('语素'对象)没有设置,所以他们是打开'nil'。稍后当我点击它们时,我可以让它们打印到控制台,但当代表性对象最终可用时,标签不会更新。 – Alexandstein
对于绑定系统来跟踪更改,您必须使用dynamic关键字:dynamic var morpheme:语素?或者如果有明确的设置,你应该让他们知道调用KVC前/后函数:willChangeValueForKey(“语素”) representObject = newValue didChangeValueForKey(“语素”)Morpheme对象内任何封闭属性的相同故事东西给他们) –
看起来像它的工作。谢谢!它看起来像我错误的一个小细节是使用'viewWillAppear()'而不是'viewDidLoad()'。我不确定触发顺序是什么,导致绑定同步问题。 – Alexandstein