2012-07-06 2 views
0

현재 다양한 명소와 조각에 대한 정보를 저장하고 표시 할 투어 응용 프로그램을 개발 중입니다. 정보 저장 옵션을 조사하고 있습니다.런타임 전에 많은 양의 정보를 저장할 수 있습니다.

  • 컨텐츠의 모든 런타임 전에 생성되며, 아무것도 실행시에 생성되지 됩니다.
  • 스프레드 시트에서 정보를 가져 오는 것과 같이 에을 쓰거나 생성하는 편리한 방법으로 을 찾고 있습니다. 따라서 I XML와 CSV, SQLite는, 보관 코어 데이터 또는 을 고려 하였다.
  • 그러한 여행 클래스 (NSObject의 서브 클래스) 등 NSObject의맞춤 서브 클래스, 이러한 광경있는 NSArray (NSObject의 서브 클래스)를 조회하고, A *의 tourName 같은 인스턴스 변수 (것이다 저장되는 콘텐츠 NSString).
  • 저는 현재 메인 뷰 컨트롤러의 - (id) initWithNibName : (NSString *) nibNameOrNil 번들 : (NSBundle *) nibBundleOrNil 메서드의 내용을 정의하지만 가장 효율적인 방법은 아닙니다.

모든 제안과 장점과 단점. 또한 Core-Data가 최상의 옵션 인 것처럼 보였지만 런타임에는 데이터가 프로그래밍 방식으로 만 생성 될 수있는 것처럼 보였습니다. 또는 실행 시간 전에 코어 데이터의 엔티티 인스턴스를 생성 할 수있는 방법이 있습니까?

감사합니다.

+1

코어 데이터가 가장 좋은 옵션이며, 모델 개체는 직접 NSManagedObject의 하위 클래스가 될 수 있습니다. 모든 소스를 가져 와서 Core Data 시드로 컴파일하고 소스가 변경 될 때마다이를 실행하는 작은 도우미 프로그램을 작성하십시오. 그런 다음 핵심 데이터 파일을 앱에 실제로 포함하기 만하면되며 장치에서 생성 할 필요가 없습니다. –

+0

감사합니다. 당신의 제안은 내가 생각하고있는 길을 따라 간다. Core-Data로 컴파일 할 소스를 저장하는 편리한 방법에 대한 몇 가지 예를 들려 주시겠습니까? (예 : csv, xml, 텍스트 파일, sqlite?) – ratsimihah

답변

0

Mac에서 CoreData 데이터베이스를 쉽게 생성 할 수 있습니다. 네이티브 앱을 작성하여 직접 데이터베이스를 관리하거나 원시 데이터를 다른 형식 (CSV, JSON 등)으로 유지 한 다음 CoreData로 변환 할 수 있습니다.

어떤 경우에도 CoreData 데이터베이스를 만들어 응용 프로그램 번들에 포함하면됩니다. 앱에서 CoreData 스택을 생성 할 때 영구 저장소에 읽기 전용 옵션을 설정하면 좋은 결과를 얻을 수 있습니다.