Ich habe eine NSCollectionView, die eine Reihe von Elementen anzeigt, die "ImageCollectionViewItem" s aufgerufen werden. Ich habe eine ImageCollectionViewItem.xib-Datei, die ausschließlich über ein NSView verfügt, das das Element abdeckt. Ich möchte in der Lage sein, dynamisch zu ändern, was in dieser Ansicht ist, aber wenn ich versuche, darauf Bezug zu nehmen, ist es null. Ich habe schon Fragen wie: outlets in UIViewController nil in viewdidload, das ist nicht mein Problem ist, dass ich es verbunden und ich habe den ausgefüllten KreisNSCollectionViewItem hat keine Ausgänge in itemForRepresentedObjectAtIndexPath
Hier ist die Viewcontroller Erweiterung:
extension ViewController : NSCollectionViewDataSource {
func collectionView(collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int {
return titles.count
}
func collectionView(collectionView: NSCollectionView, itemForRepresentedObjectAtIndexPath indexPath: NSIndexPath) -> NSCollectionViewItem {
let item = collectionView.makeItemWithIdentifier("ImageCollectionViewItem", forIndexPath: indexPath) as! ImageCollectionViewItem
//This is what is nil:
let thisView = item.iconView
return item
}
}
Und dann ist hier der ImageViewCollectionItem Code
class ImageCollectionViewItem: NSCollectionViewItem {
@IBOutlet weak var iconView: NSView!
var numItem: Int?
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
view.wantsLayer = true
view.layer?.backgroundColor = NSColor.whiteColor().CGColor
}
}
Ich habe das gleiche Problem und versucht, Ihre Lösung Eugene, jedoch Ich bekomme immer noch nichts für meine Bildansicht. Ich habe versucht, eine neue Filiale mit dem Namen myImageView zu erstellen, und sie gibt auch nil zurück. –
Können Sie ein Beispielprojekt teilen? Ich bin mir sicher, dass es etwas übersehen wird. Geschieht mir gelegentlich auch. –