我遇到了一个错误...
*** Assertion failure in -[UICollectionView _dequeueReusableViewOfKind:withIdentifier:forIndexPath:], /SourceCache/UIKit/UIKit-2372/UICollectionView.m:2249
当试图显示一个UICollectionView时。
引起问题的代码行是...
static NSString *CellIdentifier = @"Cell";
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
出现了出队列错误。
由于没有其他错误,我不知道从哪里开始解决。
是否有人可以阐述一下?
viewDidLoad
方法中识别registerClass
方法,所以我不得不将其移动到cellForItemAtIndexPath
方法中。 - Sam SpencerviewDidLoad
中调用registerClass:forCellWithReuseIdentifier:
方法时,您的UICollectionView
对象尚未分配。如果您的集合视图是通过Interface Builder定义的,则不应发生这种情况,因为viewDidLoad
在初始化集合视图后调用。如果您以编程方式初始化集合视图,请确保在调用registerClass:...
方法之前对其进行分配。我认为cellForItemAtIndexPath
不是最好的地方... - CGeecellForItemAtIndexPath
在[super viewDidLoad]
中被调用,当我将registerNib:...
移动到[super viewDidLoad]
之前时,它就正常工作了。 - Zuzana Paulis