繁体   English   中英

如何最好地实现将JSON解析为CoreData?

[英]How do I best implement parsing JSON into CoreData?

我无法解决以下问题:如何最好地将JSON解析为CoreData?

我已经知道如何解析JSON并反序列化它,但是如何将结果输入CoreData?

目前,我有一个LoginViewController ,它将带有用户名和pw的NSURLRequest发送到Web服务器,并接收回显,即JSON文件。

而且我已经用CoreDataStack设置了AppDelegate.hAppDelegate.m

我的问题:如何将NSDictionary(JSON结果)从LoginViewController进入数据库? 我必须在应用程序委托中调用方法吗? 还是应该将CoreDataStack放在LoginViewController

Alex,尝试使用Restkit ,它真正有效地将JSON响应直接持久保存到Core Data
使用URL请求获取JSON,它将整个响应映射到Core Data。 您甚至可以在持久化之前修改有效负载。
借助广泛使用的AFNetworking内部处理通讯
需要一些初始配置,但是值得付出努力!

听起来,您真正想要的是如何从解析JSON的代码中获取对Core Data堆栈的引用。 如果是这种情况,那么快速而肮脏的方法就是向应用程序委托询问它。 就像这样简单

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

您可能需要#import "AppDelegate.h"并强制转换delegate调用的结果,以使编译器方便使用。

在登录视图控制器中设置Core Data堆栈几乎肯定是个坏主意-除非那是您曾经使用过的唯一位置(我敢打赌不是这样)。 不过,将其设置为应用程序委托以外的其他地方通常是个好主意。 例如,一个新类负责管理堆栈,并实现您需要的任何与Core Data相关的常规方法。

如果实际上是将NSDictionary的数据存储到托管对象中的问题,我去年在Cocoa上写的这本书就是我的女朋友 ,那条建议仍然有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM