Mam obiekt NSManagedObject. Kiedy tworzę instancję, nieoczekiwanie zawiedzie ona metodę isKindOfClass.Obiekt NSManagedObject kończy się niepowodzeniem to testKindOfClass
NSEntityDescription *entity = [NSEntityDescription entityForName:@"DayModel" inManagedObjectContext:context];
DayModel *day = [[DayModel alloc] initWithEntity:entity insertIntoManagedObjectContext:context];
if ([day isKindOfClass:[DayModel class]]) {
NSLog(@"True");
} else {
NSLog(@"False");
}
wyjściowa:
False
I dodaje następujący kod:
Class objectClass = [day class];
Class classClass = [DayModel class];
I patrząc na to w debugera to co znalazłem:
Drukowanie opisu classClass
drukuje "DayModel".
Nie jestem pewien, czy jest to istotne, ale DayModel jest implementowany w Swift.
UPDATE
ten zawodzi w mojej klasie testowej, ale nie w aplikacji na iOS. Problem wydaje się podobny do this issue. Dodałem jednak wszystkie klasy, które mogę, do celu testowego i nadal się nie udaje.
Nie jestem pewien, ale to może pomóc ... http://stackoverflow.com/a/12161219/2274694 –
Dzięki, Myślę, że jest blisko.To się nie udaje w klasie testowej, ale działa w aplikacji. Dodałem wszystkie klasy do celu ... – rob
W edytorze modelu nazwa klasy musi mieć wartość xxx.DayModel, gdzie xxx to nazwa modułu aplikacji. Czy tak jest? – jrturton