これは本当に迷惑です。 Objective-Cでは、boolean属性Deleted
を持つItem
エンティティがあります。私はYESにDeleted
または1コアデータエンティティの属性のブール値を更新できないのはなぜですか?
の値を設定することができるようしたいと思います。これは私のコードです:注意すべき
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Item" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSString *itemID = [[fetchedObjects objectAtIndex:(int)[currentTable selectedRow]] valueForKey:@"ItemID"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ItemID = %@", itemID];
[fetchRequest setPredicate:predicate];
NSError *error = nil;
Item *objectToDelete = [[managedObjectContext executeFetchRequest:fetchRequest error:&error] objectAtIndex:0];
if (objectToDelete == nil) {
NSLog(@"ERROR");
}
[fetchRequest release];
[objectToDelete setValue:[NSNumber numberWithBool:YES] forKey:@"Deleted"];
[managedObjectContext save:&error];
何かが、私は成功し、異なる属性を変更することができるだということです。たとえば、の属性Code
とName
の末尾に-DELという文字列を追加します。データ表を表示すると、その値の文字列も対応して更新されますが、Deleted
の値は0のままです。
エンティティの説明はどうなりますか?ネイティブ整数型を使用していますか? @ "Deleted" –
ItemのMy EntityヘッダーファイルにNSNumber * Deletedがあります。コアデータモデルでは、ブール値として表示されます。valueForKeyを呼び出すと、それを印刷すると、 "0"が印刷されます。 – Rail24
あなたの属性は一時的であると宣言されていますか?次に、更新の前後にログステートメントを配置してください。お知らせ下さい。 –