Тип 'ViewController' не соответствует протоколу 'UICollectionViewDataSource'
Я следую учебнику, где с помощью UIPickerController
управлять камерой. Однако при реализации UICollectionViewDatsaSource
Я получаю сообщение об ошибке ViewController
не соответствует UICollectionViewDataSource
протокол.
class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, UIImagePickerControllerDelegate, UINavigationControllerDelegate
Есть идеи, как решить эту проблему?
4 ответа
Вы должны реализовать эти два метода в вашем ViewController
учебный класс:
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {}
PS - Ваш прототип функции должен точно соответствовать вышеуказанным функциям. '!'
если представить)
Вы должны реализовать эти два метода в своем классе ViewController для Collection View:
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
<#code#>
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
<#code#>
}
Добавление определения протокола в ваш пользовательский класс недостаточно. Вы должны предоставить необходимые функции протокола. Посмотрите документацию по протоколу, вы должны реализовать как минимум:
collectionView:numberOfItemsInSection:
collectionView:cellForItemAtIndexPath:
UICollectionViewDataSource имеет две функции, которые должны быть реализованы!(Они являются обязательными функциями протокола).
Чтобы решить эту проблему, просто реализуйте две функции следующим образом: введите описание изображения здесь