iOS 7 - UICollectionElementKindSectionHeader 使应用程序崩溃('UICollectionView 数据源未设置')

Posted

技术标签:

【中文标题】iOS 7 - UICollectionElementKindSectionHeader 使应用程序崩溃(\'UICollectionView 数据源未设置\')【英文标题】:iOS 7 - UICollectionElementKindSectionHeader crashes app ('UICollectionView dataSource is not set')iOS 7 - UICollectionElementKindSectionHeader 使应用程序崩溃('UICollectionView 数据源未设置') 【发布时间】:2014-07-19 07:25:46 【问题描述】:

尝试向我的 uicollectionview 添加节标题。当我不使用节标题时,集合视图加载正常,完全没有问题。当我尝试使用一个时,我得到了这个错误:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UICollectionView dataSource is not set'

我看到其他人遇到此问题,但尚未找到解决方法。 我在情节提要中创建了 uicollectionview、单元格和剖面视图。我正在注册头类并在代码中设置数据源和委托。

同样,uicollectionview 可以 100% 正常工作,而无需尝试使用节标题。似乎有一个节标题会导致应用程序尝试自动调用数据源/委托方法,而不是等待我的编程调用。这是为什么呢?

代码:

[self.collectionView registerClass:[MyCollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"MyCollectionHeaderView"];
self.collectionView.dataSource = self;
self.collectionView.delegate = self;

【问题讨论】:

请在GitHub上附上这个问题的示例项目。 【参考方案1】:

我也遇到过这个问题!

解决方案是将您的 UICollectionView 更改为 UICollectionViewController。

我不知道为什么会发生这种情况,但至少标题现在可以使用。

【讨论】:

以上是关于iOS 7 - UICollectionElementKindSectionHeader 使应用程序崩溃('UICollectionView 数据源未设置')的主要内容,如果未能解决你的问题,请参考以下文章