Swift中UICollectionViewDataSource出错

时间:2014-09-24 22:09:53

标签: ios swift uicollectionview

我正在尝试实现一个Collection视图,该视图作为IBOutlet连接到界面构建器中的集合视图。根据需要,我试图声明我为包含集合视图的控制器创建的UIViewController类文件作为UICollectionViewDataSource。

然而,Xcode一直给我一个错误,即视图控制器不符合UICollectionViewDataSource的协议,尽管它被声明在那里。

我将控制器设置为数据源并委托如此:

ObjectsCollection.delegate = self
ObjectsCollection.dataSource = self

以下是错误的屏幕截图:

screen shot of error

错误的原因是什么?我似乎无法找到它。

2 个答案:

答案 0 :(得分:5)

UICollectionViewDataSource协议定义了两个必需的方法:

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell

你遗失了其中一个或两个。

以下是您如何看到自己缺失的内容:

  1. 进入菜单栏并选择查看>导航器>显示问题导航器(默认快捷方式:⌘4)。

  2. 在“问题导航器”中,单击显示三角形将其关闭,直到导航显示缺少所需的功能。或者,选择单击顶部三角形,直到它打开树中的所有三角形。

  3. 示例:

    show issues

答案 1 :(得分:0)

问题是如果你声明你的类符合你必须从该协议实现所需方法的协议。