0

NSOperationQueueユーザーがデータを失うことなくアプリケーションを閉じることができるように、に永続性を追加する必要があります。私はコアデータの大ファンなので、NSOperationサブクラスをコアデータに保存する方法を探しています。

何かアドバイス?

4

1 に答える 1

0

あなたの質問についてはよくわかりませんが、いくつかのヒントを提供しようと思います。

はい、コアデータはそれを行うための有効なアプローチである可能性があります。を保存する必要がある理由がわかりませんNSOperation

代わりに、同期操作を処理するようにモデルを配置することをお勧めします。特に、サーバーと同期する必要があるエンティティに属性を追加します。たとえば、それを呼び出して、isSyncそれが値であると言いBOOLます。

したがって、特定のデータがサーバーと同期され、適切な応答を受け取った場合は、その属性を変更してYES値を想定することができます。これは、特定のデータが同期されたことを意味します。つまり、オブジェクト(データ)が同期されていない場合、そのisSync値はですNO。それ以外の場合はです。必要に応じて、オブジェクトYESを削除できます。

次回は、にisSync値を持つデータを同期できますNO。それらはまだ同期されていません。他の要素はすでに同期されており、それらを削除してデバイスのスペースを節約できます。

同期を行う方法を理解するために、このスタックオーバーフローのトピックを読んで、 iPhone Core DataをWebサーバーと同期してから、他のデバイスにプッシュすることをお勧めします。。

さらに、操作を処理する場合、ユーザーがアプリを閉じた場合は、現在の操作をキャンセルする必要があります。非常に興味深い議論は、NSOperationsのキューとアプリケーション出口の処理にあります

もちろん、これを達成するための他の解決策があるかもしれませんが、それはあなたがやりたいことを達成するための簡単な方法かもしれないと思います。

お役に立てば幸いです。

于 2012-07-14T15:48:53.620 に答える