0

次のことに頭を悩ませることはできません: JSON の解析を CoreData に実装するにはどうすればよいですか?

JSON を解析して逆シリアル化する方法は既に知っていますが、結果を CoreData に取得するにはどうすればよいですか?

現時点では、ユーザー名と pw を含む を Web サーバーにLoginViewController送信し、JSON ファイルであるエコーを受信する があります。NSURLRequest

そして、私はすでにCoreDataStackでAppDelegate.h&を設定していますAppDelegate.m

LoginViewController私の質問: NSDictionary (JSON-result) をデータベースから取得するにはどうすればよいですか? アプリ デリゲートでメソッドを呼び出す必要がありますか? または、CoreDataStack を に配置する必要がありLoginViewControllerますか?

4

2 に答える 2

0

アレックス、Restkitを使ってみてください。JSON レスポンスを Core Data に直接永続化するのに非常に効率的です
URL リクエストを使用して JSON をフェッチし、レスポンス全体を Core Data にマッピングします。永続化する前にペイロードを変更することもできます。
通信は、広く使用されているAFNetworking
の助けを借りて内部で処理され ます。初期設定が少し必要ですが、結果は努力する価値があります。

于 2013-09-25T09:20:41.827 に答える
-1

あなたが本当に求めているのは、JSON を解析するコードから Core Data スタックへの参照を取得する方法のようです。その場合、手っ取り早い方法は、アプリのデリゲートに依頼することです。それは次のような単純なものです

NSManagedObjectContext *context = [[[UIApplication sharedApplication] delegate] managedObjectContext];

コンパイラを便利な状態に保つには#import "AppDelegate.h"、おそらく呼び出しの結果を型キャストする必要があります。delegate

ログイン ビュー コントローラーで Core Data スタックをセットアップするのは、ほぼ間違いなく悪い考えです。ただし、多くの場合、アプリ デリゲート以外の場所に設定することをお勧めします。たとえば、スタックの管理を担当し、必要な一般的な Core Data 関連のメソッドを実装する新しいクラスです。

管理対象オブジェクトにデータを取得するNSDictionaryことが実際に問題である場合、昨年のCocoa is my Girlfriendでこれについて書きましたが、そのアドバイスは今でも有効です。

于 2012-10-25T00:03:51.463 に答える