When you drag a NSCollectionView to a view, a NSCollectionViewItem appears on the storyboard, floating around.
Imagine I drag several NScollectionViews to the same view. I will have a bunch of NSCollectionViewItems. How a collection view knows which NScollectionViewItem belongs to it? Is there a connection between the two that can be seen on interface builder? I don't see anything on interface builder? Where to do I see that?
EDIT: Apparently this seems to be a Xcode bug. When you add a NSCollectionView to the storyboard, it comes without a link to the NSCollectionViewItem and it seems to be impossible to connect the itemPrototype outlet between them.
After contacting Apple about bugs like this, their answer was: "this is a know issue with Storyboards on OS X. Use Xibs instead."
Well, I gave @RubberDuck's workaround a go but it didn't work (see my comment). What worked for me is setting collectionView.itemPrototype
in viewDidLoad
of the view controller (Xcode 6.1):
@IBOutlet weak var collectionView: NSCollectionView!
override func viewDidLoad() {
// don't forget to set identifier of CollectionViewItem
// from interface builder
let itemPrototype = self.storyboard?.instantiateControllerWithIdentifier("collectionViewItem")
as NSCollectionViewItem
self.collectionView.itemPrototype = itemPrototype
}