2009-10-06 111 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 當我問到類似的問題(但我使用的是核心數據)時,我指出了它,它看起來非常有前途!