绑定到NSCollectionViewItem会导致Xcode崩溃

时间:2011-07-28 23:02:54

标签: cocoa macos nscollectionview nscollectionviewitem

使用XCode 4.1每当我尝试使用CollectionView时,我都会遇到崩溃。

这些是我正在做的步骤:

  1. 从新项目中,编辑MainMenu.nib文件。
  2. 将NSCollectionView添加到窗口,该窗口还添加了Collection View 项目和新视图中的新视图
  3. 添加类似NSTextField的控件
  4. 选择控件,然后将检查器切换到绑定窗格。
  5. 尝试将某些内容绑定到Collection View Item。    在下拉菜单中选择了“集合视图项”后,即可    出现“内部错误”对话框。试图从这个对话框继续进行    绑定窗格消失,直到您重新启动XCode
  6. 这是否会发生在其他人身上,还是只是我遇到过的事情? 有没有办法解决它,允许我在XCode或代码中绑定到集合视图项(我希望最终绑定到representObject值)。

    我试图创建一个自定义的NSCollectionViewItem子类,它使用一个单独的nib文件,并将其设置为NSCollectionView的itemPrototype,但事情发生了错误。

3 个答案:

答案 0 :(得分:6)

我发现将集合视图项视图拆分为自己的XIB,然后重新连接连接以便集合视图项原型加载新的XIB将允许您在界面构建器中创建绑定而不会崩溃。我按照这些步骤......

  1. 从默认xib中删除集合视图项视图。
  2. 创建一个新视图和继承自NSCollectionViewItem的XIB。
  3. 在新视图中创建集合视图项。
  4. 将字段绑定到新视图的文件所有者。
  5. 返回集合视图xib,更新集合视图项的属性以加载新xib的bin名称。
  6. 我不确定它是否比以编程方式执行更快,但它确实允许您在不编写代码的情况下管理绑定。我现在有一些应用程序以这种方式工作。

答案 1 :(得分:1)

我找到了一个临时工作:

选择“Collection View Item”并在“Attributes Inspector”→“View Controller”设置下,将“Nib Name”设置为“MainMenu”。

完成此操作后,它不会崩溃,您可以设置绑定。在构建应用程序时,请务必清除“笔尖名称”设置。

答案 2 :(得分:0)

是的,即使在Interface Builder 3上,我也可以确认这个错误。

唯一的解决方法是以编程方式进行绑定:

[textField bind:@"value" toObject:collectionViewItem withKeyPath:@"representedObject.foo" options:nil];