NSCollectionView, Swift 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)'

1 ответ

Решение

В Swift 4 вам нужно использовать NSUserInterfaceItemIdentifier вместо String идентифицировать элемент интерфейса пользователя.

Вы должны определить статические константы для идентификаторов и ссылаться на них при регистрации перьев.

Пример:

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

collectionView.register(item, forItemWithIdentifier: .collectionViewItem)
Другие вопросы по тегам