コアデータからデータを削除する方法次のコードを使用して削除しようとしています:私はそれが親だし、ChildCategoryはいくつかを持っていることなど、いくつかのChildCategoryを有していてもよく 1. RootCategory 2. ChildCategory</p> <p>とRootCategoryを命名した2つのエンティティコアデータからエンティティを削除しようとした
-(void)deleteCategory:(NSInteger)caterogyId
{
NSManagedObjectModel *dataModel = [self dataModel];
// NLog(@"%@", TO_JSON(@"results", results, nil));
RootCategory *rootCategory = (RootCategory *) [dataModel fetchOne:CD_RootCategory
predicate:@"categoryId == %d and parentChildCategory
== nil", categoryId];
if (rootCategory.childCategorys.count != 0) {
// delete everything from under the leaves in this category
for (ChildCategory *childCategory in rootCategory.childCategorys) {
for (RootCategory *rootCategory in childCategory.childRootCategory)
[dataModel deleteEntity:rootCategory];
}
}
}
対応するレコードはコアデータDBから削除されていません。 なぜこのようなことが起きるのですか?私はこのdeleteEntityを2通りの方法で呼び出します。 1つのビューの1つのデータセットで完璧に動作し、別のビューから別のデータセットを削除しようとしています。
誰でも解決できますか?
しかし、コンテキストを保存すると、基本的には同じことになります。 – gurooj
いいえ、間違いなく同じことではなく、コンテキストの保存とは関係ありません。 – omz
違いを説明できますか?私は本当に知りたいので。 – gurooj