1个视图控制器中的2个UICollectionViews使用swift和xcode

时间:2015-04-27 00:20:17

标签: ios swift uicollectionview

所以我正在使用swift在xcode中工作 在我的故事板上我只有一个视图控制器 在该视图控制器上我有2个单独的集合视图单元格,前1个将显示某些图像,而下图显示不同的图像数组

我的问题是,当我连接dataSource并委托给两个视图的viewcontroller程序崩溃时,我得到以下错误:

  

[OF.ViewController collectionView:numberOfItemsInSection:]:无法识别的选择器发送到实例0x7b662cc0   由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [OF.ViewController collectionView:numberOfItemsInSection:]:无法识别的选择器发送到实例0x7b662cc0'

如果我断开了dataSource和ViewController的连接,那么app会运行,但收集单元格中没有任何内容

功能:

0

1 个答案:

答案 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。我道歉,我不认识斯威夫特。