0

コア データ エンティティを削除しようとしていますが、使用する削除ルールに関係なく、機能しません。何もしません。

Firefox の Sqlite アドオンを使用してコア データ データベースを参照していますが、削除コードの実行後にそこにあるすべての行を確認できます。

削除のための私のコードは次のようになります

+(void)deleteCustomerWithID:(int)customerid inManagedObjectContext:(NSManagedObjectContext  *)context
{
Customer *customer = nil;

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Customer"];
request.predicate = [NSPredicate predicateWithFormat:@"id = %d", customerid];
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"organization" ascending:YES];
request.sortDescriptors = [NSArray arrayWithObject:sortDescriptor];

NSError *error = nil;
NSArray *customers = [context executeFetchRequest:request error:&error];

if (!customers || ([customers count] > 1)) {
    // handle error
} else if (![customers count]) {
    // customer not found
} else {
    customer = [customers lastObject];
    [context deleteObject:customer];

    NSError *error; 
    if(![context save:&error]){
        NSLog(@"Unresolved error series %@, %@", error, [error userInfo]);
    }
}
}

私が間違っていることは何ですか?

4

1 に答える 1

0

何がうまくいかなかったのかわかりませんが、エンティティのすべての関係を削除してから再作成しました。それは問題を解決したようです。Cascade Delete を正常に実行できるようになりました。

于 2012-06-08T05:29:33.863 に答える