7

Core Data Model に NSImage を保存する正しい方法は何ですか? Entity に Attribute を追加し、それに Type "Binary" を指定すると機能すると想定しましたが、機能していません。NSImageCells の列を持つテーブルがありますが、何も表示されません。

4

4 に答える 4

10

10.5 以降で作業できる場合、最も簡単な方法はNSImageRep、画像の を「Transformable」属性に保存することです。デフォルトでは、変換可能な属性は NSCoding を使用して、設定時に値をアーカイブし、アクセス時にアーカイブ解除します。これにより、カスタムのゲッター/セッターを作成する必要がなくなります。凝ったものにしたい場合はNSValueTransformer、イメージをその表現の達成されたバージョンに変換するカスタムを作成し、get でその逆を行うことができます。10.4 を使用している場合は、カスタムの getter/setter を作成する必要があります (非標準永続属性の作成に関する Apple のドキュメントを参照してください。メッセージを送信NSImageすることで、イメージのイメージ担当者を取得できます。-representations

バインディングを介して UI に画像を表示する場合は、Cocoa バインディング プログラミング トピックの「バインディングを使用した画像の表示」セクションもお読みください。

于 2009-03-02T04:24:48.760 に答える
8

これはあなたが尋ねた正確な質問には答えませんが、保存している画像の数によっては、画像へのパスまたは URL のみを保存し、自分の場所に保存して、必要に応じて読み込む方が効率的です。

于 2009-03-01T12:46:03.167 に答える
7

その NSData 表現を作成する必要があります。

Non-Standard Persistent Attributesをご覧ください。特に、Transformable Attributes の下のセクションと、それで解決しない場合は Custom Code を参照してください。

于 2009-03-01T06:40:25.853 に答える
1

これは本当に簡単な実装です

http://objectivesheep.com/blog/nsimage_coredata/

于 2011-05-20T19:26:39.090 に答える