Lud*_*uda 0 objective-c ios uicollectionview
我创建了一个UIView与UICollectionView.
在UIView我已经符合的接口声明中UICollectionViewDataSource,UICollectionViewDelegate协议:
@interface TestOverview : UIView <UICollectionViewDataSource, UICollectionViewDelegate>
Run Code Online (Sandbox Code Playgroud)
但是,当我运行应用程序时,它崩溃了,我得到这个错误: -
error: -[TestScreenViewController collectionView:numberOfItemsInSection:]: unrecognized selector sent to instance.
Run Code Online (Sandbox Code Playgroud)
collectionView:numberOfItemsInSection是在UIView(TestOverview)中,它被声明为委托UICollectionView.那么为什么它期望在UIViewController(TestScreenViewController)中收到它,其中包含的UIView包含UICollectionView?首先,如果您使用视图控制器作为您的代表,那会更好UICollectionView.这就是他们的目的.其次,不仅需要声明TestOverview实现UICollectionViewDataSource和UICollectionViewDelegate协议,还需要告诉UICollectionView实例他们的委托和数据源分别是谁.您可以使用以下代码执行此操作:
self.collectionView.delegate = self;
self.collectionView.dataSource = self;
Run Code Online (Sandbox Code Playgroud)
或者在Interface Builder中,通过绑定dataSource和委托项目TestOverview.
| 归档时间: |
|
| 查看次数: |
8094 次 |
| 最近记录: |