所以我正在使用swift在xcode中工作 在我的故事板上我只有一个视图控制器 在该视图控制器上我有2个单独的集合视图单元格,前1个将显示某些图像,而下图显示不同的图像数组
我的问题是,当我连接dataSource并委托给两个视图的viewcontroller程序崩溃时,我得到以下错误:
[OF.ViewController collectionView:numberOfItemsInSection:]:无法识别的选择器发送到实例0x7b662cc0 由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [OF.ViewController collectionView:numberOfItemsInSection:]:无法识别的选择器发送到实例0x7b662cc0'
如果我断开了dataSource和ViewController的连接,那么app会运行,但收集单元格中没有任何内容
功能:
0
答案 0 :(得分:0)
你的应用程序崩溃了,因为OF.ViewController没有实现collectionView:numberOfItemsInSection:
。
相反,您有:topsCollectionView:numberOfItemsInSection:
和bottomsCollectionView:numberOfItemsInSection:
。要解决此问题,请实现dataSource方法collectionView:numberOfItemsInSection:
。然后,您可以通过比较来区分顶部和底部UICollectionView。
前。
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
NSInteger numberOfItems = 0;
if (collectionView == self.topCollectionView)
numberOfItems = [self.topImages count];
else if (collectionView == self.bottomCollectionView)
numberOfItems = [self.bottomImages count];
/* OR, if you prefer one line*/
numberOfItems = (collectionView == self.topCollectionView ? [self.topImages count] : [self.bottomImages count]);
return numberOfItems;
}
P.S。我道歉,我不认识斯威夫特。