私はユーザーが指で画面上に描画できるアプリケーションに取り組んでいます。私はこれにUIBezierPathを使用しています。私は複数のBezierPathオブジェクトを含むNSArrayであるこのデータを永続化する必要があります。これについて最善の方法は何ですか? coredataに格納し、NSDataを使用してファイルに格納しますか?とても感謝しております。コアデータを持つUIBezierPath永続性
8
A
答えて
12
複数のオブジェクトを保存する必要がありますか?あなたはいくつかのフィルタや注文に基づいてそれらを取得する必要がありますか?コアデータを使用して、データのパッキング/アンパックの作業量を節約することをお勧めします。実際にファイルに格納する理由はありません。
編集:
他の答えが言ったように、あなただけのNSDataにそれをアーカイブします。あなたがそれをアーカイブするために、このような何かを行うことができますのでUIBezierPathクラスはNSCodingプロトコルに準拠:
NSData *bezierData = [NSKeyedArchiver archivedDataWithRootObject:bezierPath];
あなたはコアデータにそのNSDataオブジェクトを永続化することができます。 NSDataのに
UIBezierPath *bezierPath = [NSKeyedUnarchiver unarchiveObjectWithData:bezierData];
1
アーカイブUIBezierPath、およびCoreDataを入力したNSDataの属性として保存:アーカイブを復号化するために
は、我々はbezierData
NSDataオブジェクトを持っていると仮定すると、あなたのような何かを行うことができます。変換可能な属性にすると、より簡単なAPIを使用できます。
特に、既にアーカイブをサポートしているクラスの場合はかなり簡単です。
詳細については、このドキュメントを参照してください。
関連する問題
- 1. コアデータを持つ複数の永続ストア
- 2. 永続性を持つレールのバックボーン
- 3. 外部の永続性を持つドキュメントライブラリを作成する
- 4. 永続性レイヤーを持つフレンドシステムをモデル化する方法は?
- 5. ajaxを使用して永続性を持つjqueryのオーダーリスト
- 6. データ永続性を持つ概念の名前
- 7. データベースにデータ永続性を持つPythonプロデューサ/コンシューマ?
- 8. Google App Engine HashMap子フィールドを持つJDO永続性
- 9. コアデータ:複数のコンテキストを持つ独立した永続ストアと単一のコンテキストを持つ別々の永続ストア
- 10. スレッド競合状態とrequires_newトランザクション属性を持つJava EE永続性例外
- 11. WCFと永続的キューを持つRabbitMQ
- 12. MBeanの永続性
- 13. Backbone.jsデータ永続性
- 14. facebookチャットボックス永続性
- 15. ステートマシンの永続性
- 16. SQL永続性サービス
- 17. 2つの異なるスレッドから一意のエンティティIDを持つコアデータ永続ストアへの同時保存
- 18. CoreDataで同じタイプの永続オブジェクトと非永続オブジェクトを持つ
- 19. レイクタスクを使用する際に永続性を維持する
- 20. Windowsワークフロー:永続性とポーリング
- 21. Qtペイントの永続性
- 22. 角2データの永続性
- 23. Builderのパターンと永続性
- 24. Android WebView - フォームデータの永続性
- 25. AJAX/Javaの永続性
- 26. チェックボックス値の永続性
- 27. フロー内の永続性
- 28. 軽量Groovy永続性
- 29. サービスファブリック - ステートフルサービスの永続性
- 30. Windowsワークフロー4.0永続性
どのようにあなたはcoredataにUIBesierPathを保持しますか? –
私の答えを更新します。 – Dima