2009-10-06 108 views
2

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

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

或者运行web服务会更好吗?我想要利用核心数据建模。

有什么办法可以使用Linq?我爱linq。

回答

3

如果您正在使用CoreData,则不会直接访问其基础后备存储(除实施定制原子存储外)。如果您想与MySQL同步,您需要访问MySQL数据库(直接通过libmysql或通过应用程序服务器),然后将该数据编组到您的托管对象中。

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

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

+0

谢谢Louis。你将如何从MySql中获取数据? – Bryan 2009-10-06 21:17:33

2

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

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

让我知道如果你release.a之前需要的代码

5

我在我的日常工作一个PHP/MySQL的程序员,我能想到的最简单的方法获取数据出来的MySQL的我的核心数据应用程序是一个HTTP连接到PHP Web服务器,它以plist xml格式返回数据。然后我可以使用plist数据轻松填充NSArray。

例如,这是我做到了我的应用程序:

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

然后,我的,我在我的应用程序使用,并持续至核心数据产品一个NSArray。

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

+0

你是如何以plist xml格式返回数据的? – Chris 2013-01-13 19:43:46

1

也看看Restkit.org 当我问到类似的问题(但我使用的是核心数据)时,我指出了它,它看起来非常有前途!