- Registriert
- 22.05.11
- Beiträge
- 23
Hi Leute,
Ich mache gerade eine App, die core data verwendet. Der Großteil aller Daten liegt schon vor, wenn der Anwender die App startet. Ich erzeuge sie in so:
- (BOOL)application
UIApplication *)application didFinishLaunchingWithOptions
NSDictionary *)launchOptions{
NSManagedObject *S1 = [NSEntityDescription insertNewObjectForEntityForName
"Section" inManagedObjectContext:self.managedObjectContext];
[S1 setValue:NSLocalizedString(@"S1", nil) forKey
"name"];
... usw ...usw.. (insgesamt etwa 300 kleine Objekte)!
}
Die Daten sind auf die Weise nicht persistent, aber sie werden ja bei jedem launchen der App neu erzeugt. Das ist OK, aber der Anwender soll auch die möglichkeit die Daten zu Editieren. Dazu habe ich die Folgende Methode geschrieben:
- (void)newDetail
Detail *)detail{
Detail *newDetail = [[Detail alloc]init];
newDetail = (Detail *)[NSEntityDescription insertNewObjectForEntityForName
"Detail" inManagedObjectContext:self.managedObjectContext];
[newDetail setValue:detail.text forKey
"text"];
[newDetail setValue:favorites forKey
"category"];
}
Das läuft auch. Aber die so erzeugeten Daten werden ja nicht beim nächsten launchen neu erzeugt. Sie gehen also verlohren, wenn ich nicht die "save" Nachricht sende:
if (![[fetchedResultsController managedObjectContext] save:&error]) {...
Auf die Weise mache ich aber direkt alle Daten persisten. Auch die, die ich in der Methode: " - (BOOL)application
UIApplication *)application didFinishLaunchingWithOptions
NSDictionary *)launchOptions;" erzeugt habe. Wenn ich die App dann neu launche wir die Methode natürlich wieder ausgeführt. Die logische Folge: Ein doppelter Datensatz!
Hat jemand eine Idee?
Gibt es eine Möglichkeit sie "save-Methode" auf einzelne Objekte anzuwenden?
Vielen Dank und LG,
Lene85
Ich mache gerade eine App, die core data verwendet. Der Großteil aller Daten liegt schon vor, wenn der Anwender die App startet. Ich erzeuge sie in so:
- (BOOL)application


NSManagedObject *S1 = [NSEntityDescription insertNewObjectForEntityForName

[S1 setValue:NSLocalizedString(@"S1", nil) forKey

... usw ...usw.. (insgesamt etwa 300 kleine Objekte)!
}
Die Daten sind auf die Weise nicht persistent, aber sie werden ja bei jedem launchen der App neu erzeugt. Das ist OK, aber der Anwender soll auch die möglichkeit die Daten zu Editieren. Dazu habe ich die Folgende Methode geschrieben:
- (void)newDetail

Detail *newDetail = [[Detail alloc]init];
newDetail = (Detail *)[NSEntityDescription insertNewObjectForEntityForName

[newDetail setValue:detail.text forKey

[newDetail setValue:favorites forKey

}
Das läuft auch. Aber die so erzeugeten Daten werden ja nicht beim nächsten launchen neu erzeugt. Sie gehen also verlohren, wenn ich nicht die "save" Nachricht sende:
if (![[fetchedResultsController managedObjectContext] save:&error]) {...
Auf die Weise mache ich aber direkt alle Daten persisten. Auch die, die ich in der Methode: " - (BOOL)application


Hat jemand eine Idee?
Gibt es eine Möglichkeit sie "save-Methode" auf einzelne Objekte anzuwenden?
Vielen Dank und LG,
Lene85