【问题标题】:Core Data and MySQL核心数据和 MySQL
【发布时间】:2010-12-04 09:49:27
【问题描述】:

如何创建与 MySQL 数据库同步的核心数据应用程序?

我应该实现一个 SQL-Lite 层并尝试以这种方式与 MySQL 同步吗?

或者运行 Web 服务会更好吗?不过,我想利用 Core Data 建模。

有什么方法可以使用 Linq 吗?我喜欢 linq。

【问题讨论】:

    标签: mysql linq cocoa-touch sqlite core-data


    【解决方案1】:

    如果您使用的是 CoreData,则不会直接访问其底层后备存储(实现自定义原子存储除外)。如果您想与 MySQL 同步,您需要访问 MySQL 数据库(直接通过 libmysql 或通过应用服务器),然后将这些数据编组到您的托管对象中。

    换句话说,您的 CoreData 模型是完全本地的,您只能通过 CoreData API 访问它。数据输入和输出的方式是一个完全独立的问题,底层存储可能是 sqlite 的事实与此无关。

    不,没有办法在 iPhone 上使用 LINQ。我想在未来的某个时候,它可能会通过 MonoTouch 实现,但除非你正在编写一个完整的 MonoTouch 应用程序,否则我怀疑来回编组对象以使用它在 Objective-C 代码中会非常不自然。

    【讨论】:

    • 谢谢路易斯。您将如何将数据输入和输出 MySql?
    【解决方案2】:

    我有用于将核心数据与后端的任何数据库同步的代码。它使用 Web 服务并通过 JSON 进行通信。它不仅与数据库无关,而且不关心数据结构是否不同。

    它将包含在 QuickConnectFamily 框架的下一版本中。 http://www.quickconnectfamily.org

    如果您需要发布之前的代码,请告诉我。a

    【讨论】:

      【解决方案3】:

      我的日常工作是一名 PHP/MySQL 程序员,我能想到的从 MySQL 中为我的 Core Data 应用程序获取数据的最简单方法是与返回数据的 PHP Web 服务器建立 HTTP 连接以 plist xml 格式。然后我可以使用 plist 数据轻松填充 NSArray。

      例如,我在我的应用程序中是这样做的:

      NSURL *url = [NSURL URLWithString:@"http://myphpwebsite.com/products"];
      NSArray *products = [[NSArray alloc] initWithContentsOfURL:url];
      

      然后我有一个 NSArray 的产品,我在我的应用程序中使用并保存到 Core Data。

      我总是建议人们一起使用 PHP、Apache 和 MySQL。他们在后端很好地协同工作,几乎无缝。例如,我可以使用 PHP 轻松地从 MySQL 中获取数据。然后我可以将 PHP 中的数据处理为我的 iPhone 应用程序使用的 plist xml 格式。

      【讨论】:

        【解决方案4】:

        也可以看看 Restkit.org 当我问一个类似的问题(但我使用的是 Core Data)时,有人指出了它,它看起来很有希望!

        【讨论】:

          猜你喜欢
          • 2011-01-11
          • 2014-09-18
          • 2013-01-24
          • 2011-12-04
          • 2011-10-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多