Für meine Modelle von Server-API initialisieren i verwenden Konstruktor wie folgt aus:Subclass NSManagedObject zu leicht
@implementation MenuAPIModel
-(instancetype)initWithServerData:(id)data{
self = [super initWithServerData:data];
return self;
}
-(void)performMapping{
_basketId = self.serverData[@"basket_id"];
_orderId = self.serverData[@"order_id"];
_itemId = self.serverData[@"id"];
_name = self.serverData[@"name"] == [NSNull null] ? @"" : self.serverData[@"persons"];
_payedFrom = [self.dfDetail dateFromString:self.serverData[@"payed_from"]] == nil ? [self.dfBasic dateFromString:self.serverData[@"payed_from"]] : [self.dfDetail dateFromString:self.serverData[@"payed_from"]];
_payedTill = [self.dfBasic dateFromString:self.serverData[@"payed_till"]] == nil ? [self.dfBasic dateFromString:self.serverData[@"payed_till"]] : [self.dfDetail dateFromString:self.serverData[@"payed_till"]];
_persons = self.serverData[@"persons"] == [NSNull null] ? @"2-3" : self.serverData[@"persons"];
_price = self.serverData[@"price"] == [NSNull null] ? @(0) : self.serverData[@"price"];
_price3 = self.serverData[@"price3"] == [NSNull null] ? @(0) : self.serverData[@"price3"];
_price12 = self.serverData[@"price12"] == [NSNull null] ? @(0) : self.serverData[@"price12"];
_status = self.serverData[@"status"] == [NSNull null] ? @"not_payed" : self.serverData[@"persons"];
}
So kann ich Objekt erstellen, mit einfach geschrieben: [MenuAPIModel initWithServerData:data];
Jetzt Unterklasse i NSManagedObject und Wunder, wie kann ich diese 4 Dateien, die XCode für mich erstellt hat, ableiten, um einen Konstruktor wie den obigen zu erstellen?
ich sehe, Sie setzen alle Logik in API-Modell. Aber ich möchte das Gegenteil tun: Erstelle und befülle das Kerndatenmodell basierend auf der fertiggestellten API Model Klasse. Zum Beispiel, wie man etwas wie [model initWithData: MenuAPIModell instance]; ? –
@EvgeniyKleban Sie können das Kerndatenmodell nach Belieben auffüllen, der wichtige Teil ist, wie Sie das Codedatenmodell starten (genau wie ich). – danypata