首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能让NSCollectionView NSCollectionViewItem工作

不能让NSCollectionView NSCollectionViewItem工作
EN

Stack Overflow用户
提问于 2018-09-18 13:50:34
回答 1查看 616关注 0票数 1
代码语言:javascript
复制
    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")
}

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

代码语言:javascript
复制
guard let collectionViewItem = item as? CollectionViewItem else {return item}

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

使用最新的Xcode 10.0 +最新的迅捷

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-19 09:08:07

发现问题了。

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

结果,Xcode 10.0并没有正确地做到这一点。它创建了一个带有占位符、文件所有者和其他东西的.xib。Xcode没有从IB中添加集合视图项对象。这很奇怪,因为以前的版本确实自动添加了Collection View Item对象。

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52388150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档