UIPickerController
を使用してカメラを操作するチュートリアルに従っています。ただし、UICollectionViewDatsaSource
を実装すると、ViewController
がUICollectionViewDataSource
プロトコルに準拠していないというエラーが表示されます。
class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, UIImagePickerControllerDelegate, UINavigationControllerDelegate
この問題を解決する方法について何か考えはありますか?
この2つのメソッドをViewController
クラスに実装する必要があります。
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {}
追伸-関数のプロトタイプは上記の関数と正確に一致する必要があります。('!'
存在する場合)
これらの2つのメソッドを、コレクションビューのViewControllerクラスに実装する必要があります。
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
<#code#>
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
<#code#>
}
カスタムクラスにプロトコル定義を追加するだけでは不十分です。プロトコルに必要な機能を提供する必要があります。プロトコルのドキュメントを参照してください。少なくとも実装する必要があります。
collectionView:numberOfItemsInSection:
collectionView:cellForItemAtIndexPath:
UICollectionViewDataSourceには2つの関数を実装する必要があります(これらはプロトコルの必須関数です)。
問題を解決するには、次のように2つの関数を実装します。 ここに画像の説明を入力