15

UIPickerControllerを使用してカメラを操作するチュートリアルに従っています。ただし、実装すると、プロトコルに準拠していないUICollectionViewDatsaSourceというエラーが表示されます。ViewControllerUICollectionViewDataSource

class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, UIImagePickerControllerDelegate, UINavigationControllerDelegate 

この問題を解決する方法について何か考えはありますか?

4

4 に答える 4

32

この 2 つのメソッドをViewControllerクラスに実装する必要があります。

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {}

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

PS - 関数プロトタイプは上記の関数と正確に一致する必要があります ('!'存在する場合は削除します) 。

于 2014-10-11T12:34:16.283 に答える
3

Collection View の ViewController クラスに次の 2 つのメソッドを実装する必要があります。

 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    <#code#>
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    <#code#>
}
于 2018-07-19T11:30:14.580 に答える
2

カスタム クラスにプロトコル定義を追加するだけでは不十分です。プロトコルの必要な機能を提供する必要があります。プロトコルのドキュメントを参照してください。少なくとも以下を実装する必要があります。

collectionView:numberOfItemsInSection:
collectionView:cellForItemAtIndexPath:
于 2014-09-26T16:55:33.107 に答える