Просто используйте indexPathsForSelectedItems
вместо indexPathsForSelectedRow
. Но эта команда вернет более одного indexPath
, если вы выберете несколько элементов. Вы должны ограничить выбор одним элементом, установив allowsMultipleSelection
из UICollectionView
в NO
.
Это говорит о том, что у Xcode есть блестящая функция автозаполнения, вы могли бы начать вводить «индекс», и он бы сразу показал indexPathsForSelectedItems
, вы также можете обратиться к отличной документации, прилагаемой к Xcode. Надеюсь, это поможет вам!
ОБНОВЛЕНИЕ 1 - Как захватить indexPath из массива
метод indexPathsForSelectedItems
возвращает массив объектов NSIndexPath, каждый из которых соответствует одному выбранному элементу. Если выбранных элементов нет, этот метод возвращает пустой массив.
Теперь, чтобы получить доступ к этому объекту, вы должны спросить себя, как мне получить доступ к массиву? Вы проводите некоторое исследование, и тогда вы придете к такому выводу:
NSArray *arrayOfIndexPaths = [self.collectionView indexPathsForSelectedItems];
NSIndexPath *indexPathImInterestedIn = [arrayOfIndexPaths firstObject];
//Voila
Что не работает? Что такое 'self.favoriteExercises'? Как выглядит класс 'sqlColumns'? Откуда вы вызываете этот код? – nhgrif
нет его [self.collectionView indexPathForSelectedRow]; –
Я задал 4 вопроса. Вы не ответили никому из них. – nhgrif