Core Data オブジェクト Product があるとします。各製品には、、、quantity
およびprice
属性がありtotal
ます。Total は、テーブルから項目を取得するときの効率のためにあります。(フェッチされたプロパティを使用して計算値を取得する効率的な方法があるかもしれないことは理解していますが、これは単なる例であり、その答えは私が探しているものではありません。)
+------+----------+-------+-------+
| Name | Quantity | Price | Total |
+------+----------+-------+-------+
| Foo | 1 | 20 | 20 |
| Bar | 0 | 30 | 0 |
| Baz | 3 | 5 | 15 |
+------+----------+-------+-------+
price
製品の は決して変わらないと仮定します。ただし、quantity
変わります。が変更されるたびに、quantity
通知を受け取り、 を再計算できるようにしたいと考えていtotal
ます。カスタム NSManagedObject クラスがあるため、可能であれば KVO の使用を避けたいと考えproduct
ています。また、価格を更新するためにそのメソッドの 1 つをオーバーライドし、独自の属性での通知の登録/登録解除について心配する必要がないようにしたいと考えています。
このメソッドは、オブジェクトの属性が変更されるたびにではなく、価格が変更されたときにのみ呼び出す必要があります。
total
また、コンテキストが保存される前に新しい属性にアクセスできるように、値が変更されたときに(たとえば、コンテキストが保存される直前ではなく)このメソッドがトリガーされるようにしたいと考えています。
どのメソッドをオーバーライドする必要があり、Product クラスのカテゴリで実行できますか?
注:この質問は似ていますが、主に複数のスレッドを実行することに関係しているため、より複雑な回答が必要になる場合があります。シングルスレッドでシンプルなものを探しています。