4

谁能建议如何解决这个NSCollectionView问题?从 Swift 3 转换为 Swift 4,魔法开始发生了 :)

代码:

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

第二行的错误:

无法register使用类型参数列表调用“ ”'(NSNib?, forItemWithIdentifier: String)'

4

1 回答 1

14

在 Swift 4 中,您需要使用NSUserInterfaceItemIdentifier而不是 aString来标识用户界面元素。

您应该为标识符定义静态常量并在注册 nib 时引用它们。

例子:

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

collectionView.register(item, forItemWithIdentifier: .collectionViewItem)
于 2017-09-26T09:33:46.270 回答