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 数据源未设置')的主要内容,如果未能解决你的问题,请参考以下文章

Ipad图标大小Ipad设置ios 5-7 29pt 1x 2x - iPad聚光灯ios 7 40 pt - iPad app ios 7 76 pt [关闭]

使用 xcode 5 (iOS 7 sdk) 构建 iOS 7 UI

为啥这个 UITabBarItem 图像切换代码在 iOS 7 上有效,而在 iOS 7.1 上无效?

如何使用 Xcode 7.1 和 iOS 部署目标 iOS 7.1 启动应用程序?

带有自定义声音的 UILocalNotification 仅适用于 iOS 6.1 和 iOS 7.1,不适用于 iOS 7.0

在 ios 7 和 ios 7+ 中处理设备特定图像的最佳方法