Я конвертирую свой проект в Swift 3 в Xcode 8.1, и одна из моих функций просмотра коллекций возвращает предупреждающее сообщение, указывающее, что след изменился. КодSwift 3 warning func collectionView метод экземпляра почти соответствует необязательному требованию
func collectionView(_ collectionView: UICollectionView, cellForItemAtIndexPath indexPath: IndexPath) -> UICollectionViewCell {
и предупреждение
метод Instance CollectionView (: CellForItemAtIndexPath :) почти соответствует факультативное требование CollectionView (: canFocusItemAt :) протокола UICollectionViewDelegate
Я считаю, предупреждение - это красная селедка. Я посмотрел ссылку API https://developer.apple.com/reference/uikit/uicollectionview/1618088-cellforitem и я вижу
func cellForItem(at indexPath: IndexPath) -> UICollectionViewCell?
Однако, я не могу найти декларацию вдоль этих линий, которые не приведут к ошибке компилятора с красной точкой.
редактировать:
После ответа ниже я добавил источник данных в мой класс ViewController следующим образом:
class MyController: UIViewController,
UICollectionViewDelegateFlowLayout,
UICollectionViewDataSource,
затем в ViewDidLoad()
Я добавил этот myCollectionView.dataSource = self
.
теперь у меня есть этот
func collectionView(_ collectionView: UICollectionView,
cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
Этот контроллер View полностью сконструированный в коде и не реализован источник данных, хотя там был код numberOfSectionsInCollectionView
который произвел компилятор красную точку после того, как был добавлен источник данных. Это была обновлена
func numberOfSections(in collectionView: UICollectionView) -> Int {