ドキュメンテーションおよび幅広い文献では、IOS の CoreData でサブクラス化された管理対象オブジェクトを削除/削除するために生成されたファクトリ メソッドは次のとおりです。
(void)removeXXXObject:(NSManagedObject *)value
ここで、XXX は対応する関係であるか、単純に removeObject を使用できます。
私のコードでは、これを使用しました:
Data *lastData = [[self sortedPersonDatas] objectAtIndex:0];
[selectedPerson removePersonDatasObject:lastData];
ここで、PersonDatas は Data 管理対象オブジェクトとの 1 対多の関係です 最後のデータを取得しました (lastData は、すべてのデータの並べ替えられた配列から生成されたものです)。逆の関係がnullであるだけで、データは存在します。データ (すべての属性とオブジェクト) を完全に削除するには、次を使用する必要がありました。
[selectedPerson.managedObjectContext deleteObject:lastData];
質問: どちらがより良い方法で、CoreData がデータをそのまま残すのは正しいですか?