Я пытаюсь установить размер ячейки в коллекцииView, используя образ загруженного объекта из coreData. Когда я пытаюсь получить доступ к объекту, он всегда равен нулю. Данные - это ошибка до и после попытки доступа к свойству. Я могу установить: [fetchRequest setReturnsObjectsAsFaults:NO];
, но это не правильный способ.Не удается получить доступ к объекту объекта CoreData
Я стараюсь, чтобы получить изображение GalleryItem как это:
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
CGSize retval;
NDGGalleryItem* galleryItem2 = [_gallery.allGalleryItems objectAtIndex:indexPath.row];
UIImage* image = galleryItem2.image;
retval.height = image.size.height/5 + 140;
retval.width = image.size.width/5;
return retval;
}
Это странно, что, когда я ставлю простые элементы итерации корыто, все свойства имеют собственные значения:
for (NDGGalleryItem *galleryItem in _gallery.allGalleryItems) {
NSLog(@"Name = %@", galleryItem.name);
image = galleryItem.image;
}
Пожалуйста, помогите.
Мои классы:
GalleryItem
@interface NDGGalleryItem : NSManagedObject
@property (nonatomic, retain) UIImage* image;
@property (nonatomic, retain) NSString* name;
@property (nonatomic, retain) NSArray* tags;
@end
GalleryDataManager - тот, который делает fetchrequest
-(NSArray*)getAllGalleryItems {
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"NDGGalleryItem"
inManagedObjectContext:context];
NSError *error;
[fetchRequest setEntity:entity];
//[fetchRequest setReturnsObjectsAsFaults:NO];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
if ([fetchedObjects count]) {
return fetchedObjects;
}
else {
NSLog(@"No gallery items found in CoreData");
ALog(@"%@",error);
return nil;
}
}
Галерея - магазины массив _allGalleryItems
@interface NDGGallery : NSObject
@property (nonatomic) NSArray* allGalleryItems;
@property (nonatomic) NDGGalleryDataManager* dataManager;
@property (nonatomic, weak) id<NDGGalleryProtocol> delegate;
@end