Ошибка Swift 2.3 indexPath в CollectionView

#ios #swift

#iOS #swift

Вопрос:

Привет, я несколько новичок в iOS и swift. Недавно я перешел на swift 2.3, и теперь я получаю эту ошибку

 Use of undeclared type 'IndexPath'
 

для этого метода

 override func collectionView(collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell 
 

Есть идеи??

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

1. @EricAya я пробовал это.

2. Функция должна быть такой: CollectionView(CollectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell

3. Похоже, что-то с swift 2.3 и swift 3.0 приводит к путанице синтаксиса.

Ответ №1:

Параметр функции NSIndexPath не должен быть IndexPath . Xcode 8 использует документацию и завершение кода для Swift 3.0 .

Синтаксис Swift 2.3:

 func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
 

Синтаксис Swift 3.0:

 func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath)
 

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

1. @Sanjeetverma был прав, что полный метод должен выглядеть следующим образом. func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell

Ответ №2:

Да! Это неверно в документации Apple. Не уверен, почему они просто не исправляют это