Ich habe ein NSManagedObject. Wenn ich eine Instanz erstelle, schlägt die isKindOfClass-Methode unerwartet fehl.NSManagedObject schlägt fehl IsKindOfClass-Test
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");
}
Ausgang:
False
Ich habe den folgenden Code:
Class objectClass = [day class];
Class classClass = [DayModel class];
Und es im Debugger dieser Suche ist das, was ich gefunden habe:
Die Beschreibung von classClass
wird gedruckt "DayModel."
Ich bin mir nicht sicher, ob dies relevant ist, aber DayModel ist in Swift implementiert.
UPDATE
Dies ist in meiner Test-Klasse, aber nicht in dem iOS-App versagt. Das Problem scheint this issue ähnlich zu sein. Ich habe jedoch alle Klassen hinzugefügt, die ich zum Testziel hinzufügen kann und es schlägt immer noch fehl.
Nicht sicher, aber dies könnte helfen ... http://stackoverflow.com/a/12161219/2274694 –
Danke, Ich denke, das ist knapp.Dies schlägt in einer Testklasse fehl, funktioniert aber in der App. Ich habe jedoch alle Klassen zum Ziel hinzugefügt ... – rob
Im Modelleditor muss der Klassenname xxx.DayModel sein, wobei xxx der Name Ihres App-Moduls ist. Ist das der Fall? – jrturton