gpt4 book ai didi

swift - 无法让 NSCollectionView NSCollectionViewItem 工作

转载 作者:行者123 更新时间:2023-11-30 11:09:00 24 4
gpt4 key购买 nike

    override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.

let item = NSNib(nibNamed: NSNib.Name("CollectionViewItem"), bundle: nil)
self.collectionView.register(item, forItemWithIdentifier: .collectionViewItem)


extension ViewController: NSCollectionViewDataSource {

func numberOfSections(in collectionView: NSCollectionView) -> Int {
return 1
}

func collectionView(_ collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int {
return Templates.count
}

func collectionView(_ collectionView: NSCollectionView,
itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem {

let item = collectionView.makeItem(
withIdentifier: .collectionViewItem, for: indexPath)

guard let collectionViewItem = item as? CollectionViewItem else {return item}

collectionViewItem.imageView = image
return item
}
}

extension NSUserInterfaceItemIdentifier {
static let collectionViewItem = NSUserInterfaceItemIdentifier("CollectionViewItem")
}

我已经按照下面的代码设置了所有内容,但由于某种原因我无法通过

guard let collectionViewItem = item as? CollectionViewItem else {return item}

守卫总是返回 item,而不是 collectionViewItem。也许有人遇到过这样的问题?我究竟做错了什么?几乎一直在关注教程https://www.raywenderlich.com/1246-collection-views-in-os-x-tutorial .

使用最新的 Xcode 10.0 + 最新的 swift

最佳答案

发现问题了。

问题:我做了什么:我创建了一个带有 NSCollectionViewItem 子类的新文件,并且我也选择创建 .xib。

事实证明,Xcode 10.0 无法正确执行此操作。它创建了一个带有占位符、文件所有者和内容的 .xib。 Xcode 没有从 IB 添加 Collection View Item 对象。这很奇怪,因为以前的版本确实自动添加了 Collection View Item 对象。

一旦我添加了 Collection View Item 对象并设置了类,问题就解决了。

关于swift - 无法让 NSCollectionView NSCollectionViewItem 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52388150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com