NSCollectionView выбирает элементы для перехода в OS X

#swift #macos #swift3 #nscollectionview #nscollectionviewitem

#swift #macos #swift3 #nscollectionview #nscollectionviewitem nscollectionview элемент #nscollectionviewitem

Вопрос:

Я просмотрел API NSCollectionView и не нашел ничего, что соответствовало бы определенным учебным пособиям, которые я видел. Xcode заставляет меня писать мой метод таким образом, чтобы не было ошибок:

 @objc(collectionView:didSelectItemsAtIndexPaths:) func collectionView(_ collectionView: NSCollectionView, didSelectItemsAt indexPaths: Set<IndexPath>) {
    print("Selected")
}
  

Всякий раз, когда я нажимаю на элемент в моем NSCollectionView, ничего не происходит, и мой оператор печати никогда не отображается в консоли. Как правильно выбрать элемент из NSCollectionView?

Комментарии:

1. Вы установили делегат CollectionView?

2. Да, я установил его в расширении ViewController: NSCollectionViewDelegate, и он по-прежнему ничего не выводит на консоль.

3. Я был бы склонен поместить a print в код после установки делегата, поскольку наиболее вероятной причиной является то, что он фактически не установлен. Я бы не ожидал, что вам придется вставлять эту @objc часть в любой — какую ошибку вы получаете без нее? Может быть полезно включить все соответствующие части вашего кода.

4. Я заставил его работать без части @obj перед ним, но он по-прежнему не выводит «Выбранный» в консоли всякий раз, когда я нажимаю на элемент. Что может быть причиной этого. Это действительно удерживает меня от чего-то, что казалось бы таким простым.

5. Я тупой … я не перетаскивал свой collectionViewDelegate для подключения к моему ViewController. Я новичок в xCode, и необходимость выполнять все это перетаскивание для настройки меня иногда сбивает с толку.

Ответ №1:

Вы должны установить свойство isSelectAble = true, например:

 self.collectionView. isSelectAble = true