2017-11-29 16 views
0

私はアプリケーションを再構築してCore Dataにリクエストを格納していますが、すべてのリクエストには完了が終了しました(サーバーからの応答が成功した後に呼び出される必要があります)。コアデータ保存終了

その閉鎖をCore Dataに保存することはできますか?

答えて

1

何らかの形でクロージャをDataのインスタンスに変換できる場合のみです。コアデータはそれらを直接保存しませんが、Dataに変換できるものはすべて保存します。私はあなたがそれをどうやってやるのか分からないけど、それはどうやって働かなければならないのかな。

コアデータを使用していない場合とまったく同じ問題です。どうすればに保存しますか??他のパーシスタンスメソッドにも同様の要件があり、クロージャを直列化および逆シリアル化することができます。

ほとんどの場合、必要なのは、クロージャを保存する代わりに、要求を実行するときにクロージャを再構築できる十分なデータを保存することです。それがどれほど難しいかは、クロージャが何をするかの詳細に依存します。

+0

コアデータには、プロパティの変換可能なタイプがあります。私はそのプロパティに辞書を保存することができ、私は辞書にクロージャを保存することができます。私はそれをすることはできませんか? (クロージャはコンパイルされたコードなので無名関数に似ているので、クロージャへのポインタを覚えておく方法があるかもしれませんが、辞書にクロージャを格納することはできますか? –

+0

特定の特定のデータ型に制限されている場合や、データオブジェクトに直接変換する場合は、データオブジェクト自体に変換する場合があります。アプリケーションが終了すると有効ではない –

+0

そして、それらのポインタを必要とする前にアプリケーションが終了しなくても、クロージャが強い参照を保持してメモリ内にまだ存在していることを保証できる場合にのみ便利です。しかし、それを行うと、コアデータや他のデータ永続性を使用する必要はありません。すでにデータをメモリに格納しているからです。 –

関連する問題