2012-01-11 87 views
3

我即将开始一个iOS项目,该项目需要从SQL数据库中提取用户数据并在App中查看它。在开始之前,我正在寻找我正在采取正确(最佳)路线的构想。如何从SQL数据库中获取数据到核心数据?

我的计划:

  1. 应用启动后登录页面(应用程序将显示来自其他服务的数据)
  2. 应用程序使用AFNetworking到POST请求的Web服务
  3. Web服务会从SQL数据库的用户数据并发送回JSON
  4. App将使用JSONKit解析进料和装载到核 - 数据
  5. App将使用信息从核心数据来填充UI

这似乎是一种合适的方式从SQL获取信息到核心数据?任何建议做不同的事情?

谢谢。

回答

3

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


为了回答您的评论,这里就是我所做的。

  1. 显示登录画面。为了安全起见,登录凭证应存储在钥匙串中。我为此使用了SSKeychain
  2. 要处理从Web请求发送和接收数据,最好的选择是使用预建的库。我一直使用ASIHTTPRequest,但由于它不再处于积极的发展阶段,所以在承诺任何事情之前,您应该多看看。我确信有更好更清洁的图书馆。
  3. 您需要解析JSON响应。我是JSONKit的粉丝。它非常快速,使用非常简单,非常强大。

将数据拉出核心数据存储并将其显示在界面中对您来说不会有任何问题。如果您在Xcode中创建一个新项目,大部分设置都将为您完成。

现在,有很多项目试图将Web请求,json解析和核心数据加载组合到一个框架中。我试过使用其中的一些,但没有多少运气。我尝试过的那些功能并不健壮,而且很难调试。设置你自己的请求/解析/加载代码并不困难,只需要一点点时间。

+0

感谢这些教程,作者以非常清晰的方式解决了一些重要问题。至于我提出的解决方案,它似乎是处理这种情况的好方法吗? – AtkinsonCM 2012-01-12 17:42:23

+0

感谢您的详细澄清。现在我对这种方法更加自信了。干杯。 – AtkinsonCM 2012-01-12 20:09:58

0

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