2011-02-03 2 views
1

MapKit을 사용하여 Google지도에 항목의 위치를 ​​표시하는 iPhone 앱을 작성하고 있습니다. 지도에 표시 할 항목이 있습니다. 이러한 항목은 시간이 지남에 따라 변경 될 수 있으므로 웹 서버에서 중앙 집중식으로 관리하고 클라이언트에서 새 버전을 사용할 수있게되면 가져올 수 있습니다. 이 작업을 수행 할 수있는 몇 가지 방법이 있으며 더 나은 대안을 제시하기 위해 현재 아이디어 나 제안에 대한 의견을 듣고 싶습니다.코어 데이터로 변환하기 위해 iPhone 앱에 데이터를 제공하는 방법

우선 Core Data를 사용하여 iPhone에 항목을 저장하고 싶습니다. Core Data에 대한 학습 기회로 사용하고 있기 때문입니다. 그러나 iOS에서 Core Data 개체로 변환 할 때 서버 측 저장소 및 데이터 서식 지정에 대한 의견을 듣고 싶습니다.

  1. 모든 항목이 포함 된 서버에 플랫 XML 파일을 보관하십시오. 새로운 버전을 주기적으로 확인하기 위해 앱을 다운로드하십시오. (전화로 GET 할 것입니다.) 새 버전이 감지되면 전체 XML 파일 (~ 1MB)을 다운로드하고 NSXMLParser를 사용하여 파싱하고 기본적으로 삭제합니다. 기존 핵심 데이터 개체를 만들고 새 개체로 저장소를 채 웁니다.
  2. 개체를 서버의 데이터베이스에 저장하고 PHP를 XML 파일로 사용하여 개체를 제공하십시오. 앱이 주기적으로 새로운/업데이트 된 항목을 확인하도록하고이를 가져 와서 구문 분석하고 상점에 추가하십시오.
  3. 개체를 서버의 데이터베이스에 저장하거나 JSON 또는 XML 및 NSXMLParser를 사용하여 이전 방법보다 우수한 다른 형식을 사용하여 제공합니다 (이 방법은 더 나은 방법이있는 경우이 영역에 대한 제안을 찾고 있습니다. XML 등)

그래서 코어 데이터를 사용하여 솔루션을 만들고 싶습니다. NSXMLParser를 이해하면 실제로이 솔루션을 어떻게 구현할 수 있는지 알 수 있습니다. 서버 데이터를 Core Data 객체로 변환하는 데 필요한 조작량을 줄이는 데이터를 제공하는 대체 방법이 있는지 알고 싶습니다.

답변

1

처음에는 서버 쪽 : 매우 유연하기 때문에 데이터베이스에 데이터를 저장해야한다는 것에 의심의 여지가 없습니다 (클라이언트에 기타 요청을 제공 할 수 있고, DB에 테이블을 추가/업데이트/변경할 수 있으며, 외측은 동일하게 유지됨).

서버에서 전송하는 데이터의 형식은 사용자 환경 설정과 문제 도메인에 대한 질문이라고 생각합니다. 나는 XML을 선호하지만 이것은 나입니다. json-framework

을하지만 당신의 클라이언트는 데이터의 형식에 대해 신경 안 : 당신은 당신이 JSON을 선택하면, 내가 그것을 구문 분석 당신이 아주 좋은 유틸리티 프레임 워크를 제안이 아주 좋은 기사 JSON vs XML 를 읽을 수 있습니다. 당신은 당신이 얻을 않은 곳 사전 (XML/JSON을 구문 분석 후 또는 DB 또는 무엇이든)에서

-(id) initWithDictionary:(NSDictionary*) dict; 

같은 상관없이 생성자와의 인터페이스를 정의해야합니다.

+0

감사합니다. @Max – conorgriffin

관련 문제