如何从SQL数据库中获取数据到Core-Data?

时间:2012-01-11 22:27:10

标签: iphone sql ios core-data

我即将启动一个iOS项目,该项目需要从SQL数据库中提取用户数据并在App中查看。在我开始之前,我正在寻找我正在采取正确(最佳)路线的构造。

我的计划:

  1. 应用程序在登录页面上启动(应用程序将显示来自其他服务的数据)
  2. 应用程序使用AFNetworking将请求发布到Web服务
  3. Web服务从SQL数据库获取用户数据并发送回JSON
  4. App使用JSONKit解析Feed并加载到Core-Data
  5. 应用程序使用来自核心数据的信息来填充UI
  6. 这是否是从SQL获取Core-Data信息的合适方式?有什么不同的做事建议吗?

    感谢。

2 个答案:

答案 0 :(得分:3)

您是否在JSON中收到来自Web服务器的响应?如果是这样,服务器使用SQL数据库的事实并不重要。您需要知道的是如何解析JSON以包含在核心数据存储中。可可是我的女朋友有一个非常好的教程。


要回答您的评论,请点击此处。

  1. 显示登录屏幕。登录凭证应存储在钥匙串中以确保安全。我已经使用了SSKeychain
  2. 要处理从Web请求发送和接收数据,您最好的选择是使用预先构建的库。我总是使用ASIHTTPRequest,但由于它不再处于活跃开发状态,因此在进行任何操作之前,您应该先查看一下。我确信那里有更好更清洁的图书馆。
  3. 您需要解析JSON响应。我是JSONKit的粉丝。它非常快速,非常易于使用,非常强大。
  4. 从核心数据存储中提取数据并将其显示在界面中对您来说没有问题。如果您在Xcode中创建一个新项目,大部分设置都将为您完成。

    现在,有很多项目尝试将Web请求,json解析和核心数据加载组合到一个框架中。我试过使用其中的一些并且没有多少运气。我尝试过的那些并不强大且难以调试。设置自己的请求/解析/加载代码并不困难,只是耗费一点时间。

答案 1 :(得分:0)

我确信有很多方法可以实现这个问题。您的解决方案是我猜测的流行解决方案之一,但您可以通过套接字连接到数据库并直接与数据库通信,例如通过端口80网站的优点是某种防火墙阻止通信的可能性非常低。我会以同样的方式解决这类问题。