Как уникально идентифицировать один NSCollectionview из нескольких NSCollectionViews в разработке Mac OS Какао? - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть 4 NscollectionViews, показанных на одном NsViewcontroller.Я не могу обнаружить каждый NscollectionView уникально.Я пытался реализовать это, устанавливая значение тега, но в разработке какао говорится, что свойство тега доступно только для чтения.Дайте мне знать, если есть какой-либо лучший подход или какое-либо исправление, которое я могу сделать, чтобы решить эту проблему.

Примечание: - Я сделал то же самое в своем приложении для ios без проблем, установка тега не создает проблем в ios.

    - (void)viewDidLoad {
    [super viewDidLoad];

    self.cinemaNowCollectionView.tag = 1;
    self.recentMovieCollectionView.tag = 2;
}

это ошибка, которую я получаю

1 Ответ

0 голосов
/ 27 ноября 2018

tag - это свойство только для чтения в NSView (это NSCollectionView подклассы).

В документации по тегу указано:

Значением по умолчанию этого свойства является –1.Подклассы могут переопределить это свойство для предоставления отдельных тегов для представлений, возможно, переопределив свойство как readwrite, чтобы вы могли изменить его более легко.

Я предполагаю, что NSControl уже делает это, так что многиеобъекты по умолчанию поддерживают теги чтения / записи по умолчанию.

Вы можете следовать указаниям документации и создать подкласс NSCollectionView с записываемыми тегами.

Или, как было предложено в комментарияхпросто определите ваши взгляды указателем:

- (void)collectionView:(NSCollectionView *)collectionView didSelectItemsAtIndexPaths:(NSSet<NSIndexPath *> *)indexPaths
{
    if (collectionView == self.cinemaNowCollectionView)
    {

    }

// etc

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...