私はiOSで新しく、coredataの値を更新する際の問題に直面しています。Objective-Cのcoredataの値を更新するには
保存
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *device;
if (self.device) {
// Update existing device
[device setValue:GlobalIndexPath forKey:@"key"];
} else {
// Create a new device
NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"Device" inManagedObjectContext:context];
[newDevice setValue:GlobalIndexPath forKey:@"key"];
}
NSError *error = nil;
// Save the object to persistent store
if (![context save:&error]) {
NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
}
のためのコアデータをフェッチするために私のコードは
NSManagedObjectContext *context = [self managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"EntityName" inManagedObjectContext:context]];
NSError *error = nil;
NSArray *results = [context executeFetchRequest:request error:&error];
され、Iおよびコード
NSManagedObject* favoritsGrabbed = [results objectAtIndex:0];
[favoritsGrabbed setValue:@"1" forKey:@"Key"];
を使用してアップデートコードは、それが一つのオブジェクトを追加更新しない更新します。
注 - GlobalIndexPathは、文字列の名前です。
しかし、これは私には何の示唆もありません。アドバイスに感謝!
コンテキストを保存しようとしましたか? –
@LucasDerraughはい私はそれを保存しています。 – Muju
_ [self managedObjectContext] _では何をしていますか?より多くのコードを共有してください。コアデータから正常に取得できますか? – Adeel