gpt4 book ai didi

ios - UIView 中的 UICollectionViewDataSource、UICollectionViewDelegate

转载 作者:行者123 更新时间:2023-11-28 18:22:58 25 4
gpt4 key购买 nike

我用 UICollectionView 创建了一个 UIView

UIView 的接口(interface)声明中,我遵守了 UICollectionViewDataSourceUICollectionViewDelegate 协议(protocol):

 @interface TestOverview : UIView <UICollectionViewDataSource, UICollectionViewDelegate>

但是当我运行该应用程序时,它崩溃了并且出现了这个错误:-

error: -[TestScreenViewController collectionView:numberOfItemsInSection:]: unrecognized selector sent to instance.
  • 要清楚方法 collectionView:numberOfItemsInSection 位于 UIView (TestOverview) 中,它被声明为 UICollectionView 的委托(delegate)>。那么为什么它希望在包含 UIViewUIViewController(TestScreenViewController) 中接收它呢?

最佳答案

首先,如果您使用 View Controller 作为您的 UICollectionView 的委托(delegate)会更好。这就是他们在那里的目的。其次,您不仅需要声明 TestOverview 实现了 UICollectionViewDataSourceUICollectionViewDelegate 协议(protocol),还需要告诉 UICollectionView 实例分别是它们的委托(delegate)和数据源。您可以用这样的代码来完成:

self.collectionView.delegate = self;
self.collectionView.dataSource = self;

或者在 Interface Builder 中,通过将数据源和委托(delegate)项绑定(bind)到 TestOverview

关于ios - UIView 中的 UICollectionViewDataSource、UICollectionViewDelegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16748128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com