我正在尝试实现一个 Collection View ,该 Collection View 作为 IBOutlet 连接到界面构建器中的 Collection View 。根据需要,我尝试将我为包含 Collection View 的 Controller 创建的 UIViewController 类文件声明为 UICollectionViewDataSource。
但是,Xcode 一直给我一个错误,即 View Controller 不符合 UICollectionViewDataSource 的协议(protocol),尽管它已在此处声明。
我将 Controller 设置为数据源并像这样委托(delegate):
ObjectsCollection.delegate = self
ObjectsCollection.dataSource = self
这是错误的截图:
错误的原因是什么?我好像找不到。
最佳答案
UICollectionViewDataSource
协议(protocol)定义了两个必需的方法:
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
您缺少其中一个或两个。
您可以通过以下方式查看缺少的内容:
转到菜单栏并选择“查看”>“导航器”>“显示问题导航器”(默认快捷方式:⌘4)。
在问题导航器中,单击显示三角形将其调低,直到导航向您显示缺少的所需功能。或者,按住 option 键单击顶部三角形,直到它打开树中的所有三角形。
例子:
关于ios - Swift 中的 UICollectionViewDataSource 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26027379/