Reputation: 353
I'm trying to figure out what might be happening in the following code segment. I have a collection view and I'm showing saved images as thumbnails. I'm also inserting a stock "New Image" icon at the end so the user can add an additional image.
On the iPad simulator it appears fine but when I run on the device I do not see the "New Image" icon. I can touch it to open up the camera view controller for capture/selection but the image does not display. Any ideas? Here's the code...
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *cellIdentifier = @"cvCell";
CVCell *cell = (CVCell *)[[self sectionImagesCollectionView] dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
if ([indexPath row] < [sectionImages count]){
// Have an image so assign the photograph
RFHSectionImages *sectionImage = [sectionImages objectAtIndex:[indexPath row]];
UIImage *image = [UIImage imageWithData:[sectionImage photograph]];
[[cell imageView] setImage:image];
} else {
// Use the standard image
UIImage *newPhoto = [UIImage imageNamed:@"New Image.png"];
[[cell imageView] setImage:newPhoto];
}
return cell;
}
Upvotes: 1
Views: 873
Reputation: 2947
I had a similar problem, but the culprit was network latency — had to manually call self.collectionView.reloadData() to get things showing up. Locally, the data apparently loaded quickly enough that this wasn’t an issue.
Upvotes: 0
Reputation: 25697
Here's a small detail that many developers have wasted hours upon:
Really, it all boils down to:
So, you might have 'New Image.png' in your code, but the actual image name is 'new image.png'. It might even be something like 'nEw iMaGe.png'.
This will work fine on the simulator, but not on the device - the device simply won't find the image.
This has happened to me for everything from images to plists.
Upvotes: 3