3

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

这些是我正在做的步骤:

  1. 在一个新项目中,编辑 MainMenu.nib 文件。
  2. 在窗口中添加一个NSCollectionView,其中也添加了一个Collection View Item,并且在新View中添加了一个新View
  3. 添加一个类似 NSTextField 的控件
  4. 选择控件,然后将检查器切换到绑定窗格。
  5. 尝试将某些内容绑定到集合视图项。在下拉菜单中选择集合视图项目后,将出现“内部错误”对话框。尝试从此对话框继续会使绑定窗格消失,直到您重新启动 XCode

这会发生在其他人身上还是只是我遇到的事情?有没有办法解决它以允许我在 XCode 或代码中绑定到 Collection View Item(我希望最终绑定到代表对象值)。

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

4

3 回答 3

6

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

  1. 从默认 xib 中删除集合视图项视图。
  2. 创建一个继承自 NSCollectionViewItem 的新视图和 XIB。
  3. 在新视图中创建您的集合视图项。
  4. 将字段绑定到新视图的文件所有者。
  5. 返回集合视图 xib,更新集合视图项的属性以加载新 xib 的 bin 名称。

我不确定它是否比以编程方式执行更快,但它确实允许您在不编写代码的情况下管理绑定。我现在有一些应用程序以这种方式工作。

于 2011-08-05T18:54:24.967 回答
1

我找到了一个临时解决方法:

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

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

于 2011-10-04T12:05:40.300 回答
0

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

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

[textField bind:@"value" toObject:collectionViewItem withKeyPath:@"representedObject.foo" options:nil];
于 2011-07-29T17:36:32.797 回答