5

私は iOS 7 を使用しており、iCloud でコア データを使用したいと考えています。これはうまく機能しています。入力が必要な問題は次のとおりです。

一部の Core Data オブジェクトには、ファイル システムにファイルとして保存し、これらのアイテムの URL を文字列プロパティとして設定するだけの関連画像/大きなテキスト ファイルがあります。iCloudにはこれらのファイルの概念がないため、明らかにこれはiCloudコアデータ同期では機能しません。これを処理する方法について何か提案がありましたか?

1) 画像データと大きなテキスト ファイルをコア データ プロパティとして直接保存できますが、最善の方法ではないようです。

2) iCloud を使用してドキュメントを保存し、別の iOS デバイスのファイル間で同期を維持しようとすることもできますが、これは面倒になる可能性があります。

3) 他の解決策。

助言がありますか?

よろしく

ダニエル

4

2 に答える 2

5

モデルをプログラムでセットアップする場合は、メッセージを追加しsetAllowsExternalBinaryDataStorage:て、Core Data がモデルをレコードまたは別のファイルとして自動的に保存するタイミングを決定できるようにします。Core Data は、外部ファイルを使用することを決定したときにユーザーに代わって管理するため、iCloud でも「そのまま機能する」はずです。

NSAttributeDescription * imageAttribute;
//Initialise, setup, add to model, etc
[imageAttribute setAttributeType: NSBinaryDataAttributeType];
[imageAttribute setAllowsExternalBinaryDataStorage:YES];

モデル エディター UI にも、属性に対応するチェックボックスがあります。

https://developer.apple.com/library/ios/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSAttributeDescription_Class/reference.html#//apple_ref/doc/uid/TP30001175-SW26

于 2013-11-08T20:12:11.137 に答える