2011-09-12 7 views
0

一部のオブジェクトを「ドラフト」として保存する最良の方法は何ですか?私は記入し、保存を押すよりもフォームを持っています。これは、インターネットにデータをアップロードする必要があります。しかし、ユーザーがオフラインの場合は、ドラフトとして保存して後でアップロードすることができます。オブジェクトをドラフトとして保存する

ベストプラクティスはありますか?オブジェクトには、CoreDataのイメージ、テキストフィールド、またはManagedObjectsを使用できます。

答えて

1

IDを使用してCoreDataに保存し、次回にアプリケーションを開くときにこのIDを保存する場合は、NSUserDefaultsにIDがあるかどうかを確認し、クラウドに保存する場合はIDを、それ以外の場合はIDをUserDefaultsに保存します。

NSUserDefaults

1

NSUserDefaultsから削除し、その後クラウドに保存されている任意のIDはおそらく、タスクのこの種のための最も効率的な場所である:

[[NSUserDefaults standardUserDefaults] setObject:YourObject forKey:@"Draft1"] 

あなたのオブジェクト(複数可)に応じて、あなたがしたいかもしれませんuserdefaultsに値を保存してください。

+0

オブジェクトに写真、管理対象オブジェクトなどが含まれている場合は、 'UserDefaults'のために大きくなります。これは' NSDictionary'だけです。 – medopal

+0

NSUserDefaultsは、現在利用可能な空きメモリに限ります。 タスクが完了すると、ドラフトオブジェクトがプルーニングされ、メモリが解放されます。 –