現在、カテゴリエンティティとアイテムエンティティの2つのエンティティがあり、Category:Itemは1:mです。
カテゴリ->アイテムの関係に「アクションなし」ルールを適用し、Category.prepareForDeletionを実装して、カテゴリを削除する前に、カテゴリ内のすべてのアイテムを特別なキャッチオールカテゴリに移動しました(キャッチオールカテゴリは削除できません)。 )。
- (void)prepareForDeletion {
Category *misc = [Database theMiscCategory];
[misc addItems:self.items];
[super prepareForDeletion];
}
私の質問はこれです:私は何かが足りないのですか?そうでない場合は、「アクションなし」が高度な機能であるというXCodeの警告をオフにするにはどうすればよいですか?
FTR、私はnullifyを使用していません。これは、アプリケーションの他の領域がnullカテゴリのアイテムを処理するよりも、「その他」のカテゴリにあるものをダンプする方が便利だからです。私は実際にそれを最初に試しましたが、予期しない動作が発生しました-スーパーを最初に呼び出すと、変更するアイテムのセットを収集する前に関係が無効になり、その後に置くと、新しいカテゴリへの関係が取得されます無効になりました。それらを集めて、スーパーと呼んで、新しいカテゴリーを設定することができると思いますが、それは厄介なようです。
したがって、「アクションなし」が私が望んでいることだと思います。prepareForDeletionで管理する必要がある他のものを見逃していないことを確認したいだけです。