Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决这个问题';原型Segue';与我的NSCollectionView相关(Xcode 7.0 beta版)_Xcode_Macos_Swift_Segue_Nscollectionview - Fatal编程技术网

如何解决这个问题';原型Segue';与我的NSCollectionView相关(Xcode 7.0 beta版)

如何解决这个问题';原型Segue';与我的NSCollectionView相关(Xcode 7.0 beta版),xcode,macos,swift,segue,nscollectionview,Xcode,Macos,Swift,Segue,Nscollectionview,所以我一直想用Swift为OSX编写一个需要集合视图的程序。与OSX一样,它不使用UICollectionView,而是使用NSCollectionView(顺便说一句,如果您知道任何与Swift一起使用这些视图的教程,将不胜感激!) 问题是:我在我的故事板中放置了一个“集合视图”,将其作为我的初始控制器,在创建视图时,它还在故事板上创建了一个NSCollectionViewItem。在Xcode 6中,原型项绝对与故事板的任何其他元素无关,但现在在Xcode 7中,它是使用“原型序列”创建的

所以我一直想用Swift为OSX编写一个需要集合视图的程序。与OSX一样,它不使用UICollectionView,而是使用NSCollectionView(顺便说一句,如果您知道任何与Swift一起使用这些视图的教程,将不胜感激!)

问题是:我在我的故事板中放置了一个“集合视图”,将其作为我的初始控制器,在创建视图时,它还在故事板上创建了一个NSCollectionViewItem。在Xcode 6中,原型项绝对与故事板的任何其他元素无关,但现在在Xcode 7中,它是使用“原型序列”创建的

问题:编译时,出现以下错误:

Unknown segue relationship : Prototype
有人知道如何修复它吗


提前谢谢,我的英语很抱歉——”

看来您必须手动指定连接

  • 将“collectionViewItem”情节提要ID添加到集合视图项
  • 将以下代码添加到集合视图控制器的viewDidLoad方法(Swift示例):


  • 从XCode 7.2、nd OSX 10.11开始,问题仍然存在,唯一的解决方法是创建一个基于nib的集合视图单元格,并在集合视图上调用方法-(void)registerNib:(nullable NSNib*)nib forItemWithIdentifier:(NSString*)identifier

    从Xcode 7 beta 6开始,这将不再可能。如果设置itemPrototype,Xcode将显示以下错误:未能在(NSWindow)上设置(contentViewController)用户定义的已检查属性:使用-Registernb:forItemWithIdentifier:和-registerClass:forItemWithIdentifier:对于新的CollectionViewsAs@gbdavid说,我真的不明白他们为什么关闭此选项,因为他们添加了故事板。。。现在使用笔尖。欢迎对答案进行一些编辑。这非常糟糕。但最糟糕的是,“registerNib”函数只有在OSX10.11之后才可用。那么,我现在真的不能创建集合视图吗?真不敢相信。@Lubos,OSX的CocoaAPI的状态绝对可怕。在开始为iOS开发Objective-C之后,我明白了为什么人们说他们讨厌可可。整个iOS API似乎比OSX对应的乱七八糟的API改进了100倍。也许只是我,习惯了iOS的API,但OSX one似乎被早就应该被弃用的东西污染了,奇怪的命名约定NSZeroSize(不是NSSizeZero)和它的Rect和Point对应物,把人们的注意力吸引到了冰山的一角。
    self.collectionView.itemPrototype = self.storyboard!.instantiateControllerWithIdentifier("collectionViewItem") as! NSCollectionViewItem