Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trial

chitra iyer
3,722 PointsPhotoBombers ReuseIdentifier
When I register the class in viewDidLoad() it does not get registered and I get the runtime error - could not dequeue a view of kind: UICollectionElementKindCell with identifier Cell - must register a nib or a class for the identifier .... So I registered the class in viewWillAppear() and it works fine. Just wondering if anyone encountered this problem? And if registering it in the viewWillAppear() is fine?
-(void)viewDidLoad:(BOOL)animated{
[super viewDidLoad];
}
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.collectionView.backgroundColor = [UIColor whiteColor];
[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"photo"];
}
4 Answers

Stone Preston
42,016 Pointsit should probably go in viewDidLoad. also note that if you have a custom collection view cell class you need to be using the name of your class, not UICollectionViewCell
self.collectionView.backgroundColor = [UIColor whiteColor];
[self.collectionView registerClass:[SPPhotoCell class] forCellWithReuseIdentifier:@"photo"];

chitra iyer
3,722 PointsI agree it should go in viewDidLoad but its not working there.
As for the class name I am in the second video now and have pointed it to the custom class, but that does not have anything to do with my Q, i hope.

Stone Preston
42,016 Pointsthats weird that it wouldnt work

chitra iyer
3,722 PointsI get the runtime error - could not dequeue a view of kind: UICollectionElementKindCell with identifier Cell - must register a nib or a class for the identifier ....

Stone Preston
42,016 PointsMake sure you are using the same reuse identifier in cellForItemAtIndexPath. You need to use "photo" as the reuse identfier