2009-10-06 7 views
2

MySQL 데이터베이스와 동기화되는 핵심 데이터 응용 프로그램은 어떻게 만듭니 까?핵심 데이터 및 MySQL

SQL-Lite 레이어를 구현하고 그런 방식으로 MySQL과 동기화해야합니까?

웹 서비스가 더 좋을까요? 코어 데이터 모델링을 활용하고 싶습니다.

Linq를 사용할 수있는 방법이 있습니까? 나는 linq을 사랑해.

답변

3

CoreData를 사용하는 경우 사용자 정의 원자 저장소 구현을 제외하고 기본 백업 저장소에 직접 액세스하지 않아도됩니다. MySQL과 동기화하려면 MySQL 데이터베이스에 액세스 (libmysql을 통해 직접 또는 응용 프로그램 서버를 통해) 한 다음 해당 데이터를 관리 객체에 마샬링해야합니다.

즉, CoreData 모델은 완전히 로컬이고 CoreData API를 통해서만 액세스해야합니다. 데이터를 입출력하는 방법은 완전히 별개의 문제이며, 기본 스토리지가 sqlite 일 수 있다는 사실은 그것에 아무런 영향을 미치지 않습니다.

아니, 아이폰에서 LINQ를 사용할 방법이 없습니다. MonoTouch를 통해 앞으로 어느 정도 시점에서 MonoTouch를 사용할 수있을 것이라고 생각하지만, 전체 MonoTouch 응용 프로그램을 작성하지 않는 한 Objective-C 코드를 사용하여 개체를 앞뒤로 마샬링하는 것이 매우 부자연 스럽습니다.

+0

감사합니다. MySql에서 데이터를 가져오고 나가는 방법은 무엇입니까? – Bryan

2

핵심 데이터를 백엔드의 모든 데이터베이스와 동기화하는 코드가 있습니다. 웹 서비스를 사용하고 JSON을 통해 통신합니다. 뿐만 아니라 데이터베이스에 의존하지 않지만 데이터 구조가 다른지 상관하지 않습니다.

QuickConnectFamily 프레임 워크의 다음 버전에 포함될 예정입니다. http://www.quickconnectfamily.org

당신이 release.a 전에 코드가 필요 알려줘

5

나는 나의 일 일에서 PHP/MySQL의 프로그래머 해요, 내가 생각할 수있는 가장 쉬운 방법은 MySQL의에서 데이터를 가져 오기 위해 내 핵심 데이터 애플 리케이션은 plist XML 형식으로 데이터를 반환 PHP 웹 서버에 HTTP 연결을 만드는 것이 었습니다. 그렇다면 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

1

또한 Restkit.org를 살펴보십시오 비슷한 질문을했을 때 지적했으나 (Core Data를 사용하고 있습니다) 매우 유망 해 보입니다!