NSOperationQueue
ユーザーがデータを失うことなくアプリケーションを閉じることができるように、に永続性を追加する必要があります。私はコアデータの大ファンなので、NSOperation
サブクラスをコアデータに保存する方法を探しています。
何かアドバイス?
NSOperationQueue
ユーザーがデータを失うことなくアプリケーションを閉じることができるように、に永続性を追加する必要があります。私はコアデータの大ファンなので、NSOperation
サブクラスをコアデータに保存する方法を探しています。
何かアドバイス?
あなたの質問についてはよくわかりませんが、いくつかのヒントを提供しようと思います。
はい、コアデータはそれを行うための有効なアプローチである可能性があります。を保存する必要がある理由がわかりませんNSOperation
。
代わりに、同期操作を処理するようにモデルを配置することをお勧めします。特に、サーバーと同期する必要があるエンティティに属性を追加します。たとえば、それを呼び出して、isSync
それが値であると言いBOOL
ます。
したがって、特定のデータがサーバーと同期され、適切な応答を受け取った場合は、その属性を変更してYES
値を想定することができます。これは、特定のデータが同期されたことを意味します。つまり、オブジェクト(データ)が同期されていない場合、そのisSync
値はですNO
。それ以外の場合はです。必要に応じて、オブジェクトYES
を削除できます。
次回は、にisSync
値を持つデータを同期できますNO
。それらはまだ同期されていません。他の要素はすでに同期されており、それらを削除してデバイスのスペースを節約できます。
同期を行う方法を理解するために、このスタックオーバーフローのトピックを読んで、 iPhone Core DataをWebサーバーと同期してから、他のデバイスにプッシュすることをお勧めします。。
さらに、操作を処理する場合、ユーザーがアプリを閉じた場合は、現在の操作をキャンセルする必要があります。非常に興味深い議論は、NSOperationsのキューとアプリケーション出口の処理にあります。
もちろん、これを達成するための他の解決策があるかもしれませんが、それはあなたがやりたいことを達成するための簡単な方法かもしれないと思います。
お役に立てば幸いです。