私はOSXプログラミングに不慣れですが、一般的には気に入っています。私は次の問題を抱えています:
2つのコアデータエンティティがそれぞれのアレイコントローラーと1対多でリンクされています(ストックコントローラーと価格履歴コントローラー。後者のコントローラーはストックコントローラーにバインドされており、コントローラーキー=選択とモデルキーパス=価格履歴です。は、PriceHistoryControllerによって制御されるPriceDataPointエンティティに株式エンティティをリンクする関係です。
これはすべて私のUIの魔法のように機能し、株式を選択して、選択されたときにそれぞれに価格ポイントを追加/削除できます。ただし、これもプログラムで実行できる必要があります。
[stockController add:self]
'self'が正しいクラス/エンティティではない場合でも、選択したストックにリンクされた、正しいデフォルト値を持つ新しいオブジェクトでUIアップデートを呼び出すだけです。これは私にとって混乱の1つのポイントであり、私には理解できません(ストックコントローラーは、KVOバインディングを通じて選択された株式を認識しており、必要に応じて関係を設定する可能性が高いことを理解していますが、それがどのようにキャストされるかわかりません。 ''self'は、必要なオブジェクトタイプ(プレーンNSManagedObject
)へのかなりランダムなクラスです?次に、これを行う場合、そのオブジェクトへの参照を取得して、その値を編集できるようにするにはどうすればよいですか?ただし、さらに重要なのは、Appleの例に従って、新しい
NSManagedObject
スルーNSEntityDescription:insertNewObjectForEntity:
を作成して使用すると[stockController addObject:Newly created Object]
、追加する前に必要な値を書き込むことができますが、「親」ストックとの関係はaddObjects:
メソッドによって設定されません。私もこれを書く方法を理解できると確信していますが、Cocoaの他のすべてがとてもエレガントであるため、これは奇妙に感じるので、ここの誰かがこれを非常に迅速に解決し、エレガントな方法を教えてくれることを願っています。