Я испытываю странное поведение с управляемым объектом CoreData. В моем методе viewDidLoad я делаю следующее:
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"uuid = %@", self.imageUUID];
NSFetchRequest *imageFetchRequest = [[[NSFetchRequest alloc] init] autorelease];
[imageFetchRequest setPredicate:predicate];
NSEntityDescription *imageEntity = [NSEntityDescription entityForName:@"Image" inManagedObjectContext:appDelegate.managedObjectContext];
[imageFetchRequest setEntity:imageEntity];
error = nil;
NSArray *array = [[appDelegate managedObjectContext] executeFetchRequest:imageFetchRequest error:&error];
tagImage = (Image *)[array objectAtIndex:0];
assert([tagImage isKindOfClass:[Image class]]);
Утверждение проходит. Это конкретное представление - TableViewController, и в моем методе cellForRowAtIndexPath мне нужно проверить некоторые свойства Image. Каждый раз, когда я обращаюсь к свойству tagImage, приложение завершается сбоем, поэтому я добавил следующее утверждение следующим образом:
assert([tagImage isKindOfClass:[Image class]]);
На этот раз утверждение не выполняется. Я понятия не имею, что будет делать изменения типа объектов tagImage.