ゲームのスコアを保存するためにコア データを使用していますが、スコアを上回ったときにエントリを更新するのに助けが必要です。これが私がいるところです。アプリの初回起動時に次のようにデータを書き込みます。
LevelData *levelOne = [NSEntityDescription insertNewObjectForEntityForName:@"LevelData" inManagedObjectContext:context];
levelOne.levelNum = @"1";
levelOne.topScore = @"0";
levelOne.isPassed = @"No";
if (![context save:&error]) {
NSLog(@"coudlnt save: %@", [error localizedDescription]);
}
次に、レベルの最後にあるデータを次のように読み取ります。
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"levelNum == 1"];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"LevelData" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSError *error;
NSArray *fetchedObjects = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
for (LevelData *info in fetchedObjects) {
NSLog(@"Is Passed: %@", info.levelNum);
NSLog(@"Top Score: %@", info.topScore);
NSLog(@"Is Passed: %@", info.isPassed);
}
私が立ち往生しているのは、topScore エントリを更新し、新しいエントリを作成せずにデータ ストアに書き戻すことですが、既存のエントリを更新することです。
そして、ヘルプ/例はとても役に立ち、とても感謝しています.
ありがとう、カイル