タスクの詳細:NSManagedObjectを代理人にするのは良い方法ですか?
私は、1-30個のハードウェアデバイスと同時に通信するアプリケーションを開発しています。各デバイスには独自のTCP接続があります。
したがって、私は、そのデバイスのいくつかのプロパティを表すentity "hardwareObject"を作成しました。値1と値2。
"hardwareObject"エンティティの一時的な属性として定義した接続ハンドラクラスを作成しました。 UIの変更では、コアデータオブジェクトが変更され、コアデータオブジェクト自体がvalue1またはvalue2の変更を送信するための接続を通知します。
デリゲートメソッドを介して新しいデータが到着したときに、 "hardwareObject"のインスタンスに通知したいので、その属性のデリゲートです。
NSManagedObjectをs.thの代理人にすることをお勧めします。良い練習ですか?
フォールトやその他のコアデータ関連の問題が発生する可能性がありますか? また、それぞれの接続ハンドラを処理し、必要に応じてコアデータオブジェクトと対話するsharedInstanceマスター接続ハンドラオブジェクトを作成する方がよいでしょうか?
NSManagedObjectサブクラスを "生きている"ようにするために代理プロパティを代わずに代理プロパティを保持することをお勧めしますか? – b00tsy
'obj <-> delegate'関係があるときはいつでも、両方の関係(objとdelegate)が互いに関係を持っている限り有効であることを確認する必要があります。 * classic *アプローチは、デリゲートがobjを保持するアプローチです(例:ビューコントローラはテーブルビューを保持します)、objにはデリゲートへの弱い参照があります(テーブルビューにはビューコントローラに対する弱い参照があります)。これも使うことができますが、管理対象オブジェクトが破棄されたときに( '-didTurnIntoFault'の内部で)デリゲートとして自身を設定解除するようにする必要があります。さもなければあなたはぶら下がっているポインタを持っています。 –