私は、エンティティの画像を含む任意のバイナリ属性:image
を持っています。 インターフェイスでは、NSImageView(Image Well)と「イメージを削除」ボタンがあります。画像削除ボタンをクリックすると、私は:コアデータエンティティのバイナリ属性のデータ(NSImageViewで使用される)の削除
- (IBAction)saveAction:(id)sender {
NSError *error = nil;
if (![[self managedObjectContext] save:&error]) {
[[NSApplication sharedApplication] presentError:error];
}
[tableView reloadData];
}
- (IBAction)removeImage:(id)sender {
[image setImage:nil]; // image is a NSImageView outlet bound to the image attribute.
[self saveAction:sender];
}
それはNSImageViewから画像を消去しますが、バイナリデータがまだコアデータのエンティティに保持されています。
どのようにしてコアデータエンティティの変更も反映されますか?
ありがとうございます!
編集:
NSImageViewも、すでにモデルの画像属性にバインドされ、出口として利用可能です。だから私は、モデルをフェッチすることによって属性をリセットする方法を教えてくれる人を探しています(もしそれが必要ならば)。
コードヘルプがありがとうございます。 :)
:ここ
は、私はユニークな属性を持つ、現在選択されたエンティティのための私のイメージ除去機能を置き換えるものです。私はそれをここの文脈の名前に変更しました。 あなたは「コントローラを介してビューをモデルにバインドする」と言った。私はそれを雇用するために必要ないくつかのコードに私を紹介することができますか?私はプログラムでCore Dataを処理するのはかなり新しいです。ご協力いただきありがとうございます! –
通常、バインディングはIBで設定します。プログラマチックに行う唯一の理由は、1つまたは複数のカスタムビュークラスを作成し、IBプラグインを作成したくないことです。詳細については、「Cocoa Bindings Programming Topics」を参照してください。http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaBindings/ –
プログラミング上のバインディングやInterface Builderによるバインディングの違いについてはわかりません。私はあなたの助けに感謝します。私はこれをより速く完了するのに役立ついくつかの直接的なコードを得ることができれば嬉しいです。 –