Ich Initialisierung eines NSManagedObject
Unterklasse mit:NSManagedObject Subklassen und setValuesForKeysWithDictionary:
- (void)setValuesForKeysWithDictionary:(NSDictionary *)keyedValues
ich es auch die undefinierten Tasten wissentlich geben werde, was natürlich sollte eine Ausnahme werfen.
So habe ich realisiert:
- (void)setValue:(id)value forUndefinedKey:(NSString *)key
Wenn ein Schlüssel nicht definiert ist, ich es auf den richtigen Schlüssel zuordnen.
Allerdings wird meine Implementierung nie aufgerufen, stattdessen wird Implementierung verwendet, die wiederum noch eine Ausnahme auslöst.
Gibt es ein Verhalten (oder Bug), das verhindert, setValuesForKeysWithDictionary:
NSManagedObject
Unterklassenimplementierung von setValue:forUndefinedKey:
zu verwenden?
Hinzufügen von Code wie gewünscht, aber da ich nur eine bestehende Methode bin die Umsetzung, die nicht aufgerufen wird, ich weiß nicht, wie viel Hilfe wird es sein:
Im Zusammenhang:
- (Company*)companyWithDictionary:(NSDictionary*)values{
Company* newCompany = (Company*)[NSEntityDescription insertNewObjectForEntityForName:@"Company" inManagedObjectContext:self];
[newCompany setValuesForKeysWithDictionary:values];
return newCompany;
}
In der Company
Unterklasse (genannt nie):
- (void)setValue:(id)value forUndefinedKey:(NSString *)key{
if([key isEqualToString:idKey]){
[self setValue:value forKey:@"uniqueID"];
}else if([key isEqualToString:descriptionKey]){
[self setValue:value forKey:@"descriptionText"];
}else if([key isEqualToString:timeUpdatedKey]){
[self setValue:value forKey:@"dateUpdated"];
}else{
[super setValue:value forUndefinedKey:key];
}
}
Ja, ich sehe es in der Stack-Trace. Und es ist auch definitiv die Implementierung von NSManagedObject. –
Ich habe ValueForUndefinedKey nicht implementiert :. Ich werde das versuchen, aber ich verstehe nicht, warum das durch den Setter aus dem Gleichgewicht geraten ist. –
Hinzugefügt Code ... –