[英]NSCollectionView, Swift 4 - Cannot invoke “register”
任何人都可以建议如何解决这个NSCollectionView
问题? 从Swift 3转换为Swift 4并且魔术开始发生:)
码:
let item = NSNib(nibNamed: NSNib.Name(rawValue: "MACollectionViewItem"), bundle: nil)
collectionView.register(item, forItemWithIdentifier: "CollectionViewItem")
第二行错误:
无法使用类型
'(NSNib?, forItemWithIdentifier: String)'
的参数列表调用'register
'(NSNib?, forItemWithIdentifier: String)'
在Swift 4中,您需要使用NSUserInterfaceItemIdentifier
而不是String
来标识用户界面元素。
您应该为标识符定义静态常量,并在注册nib时引用它们。
例:
extension NSUserInterfaceItemIdentifier {
static let collectionViewItem = NSUserInterfaceItemIdentifier("CollectionViewItem")
}
collectionView.register(item, forItemWithIdentifier: .collectionViewItem)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.