2013-06-08 2 views
0

저는 ORM 종류의 모델을 유지 관리해야하는 엔티티 (이미지, 일부 텍스트 필드가 있음)를 나타냅니다. 클라이언트는 앱 빌드에 이러한 tyoe (Entity) 항목을 통합하기를 원하기 때문에 다운로드 할 때 사용할 수 있어야하며 사용자가 더 많은 항목을 다운로드 할 수 있어야합니다. 코어 데이터를 사용하고 모델을 만들려고 생각했습니다. 내 질문 : 1 : 좋은 방법인가요? 2 :이 모델을 작성하고이 엔티티를 정의하면 수동으로 Xcode에 엔티티 유형의 정적 항목을 입력 할 수 있습니까? 그들은 로컬에서 사용할 수 있기 때문에 일부 UIView! viewdidload 메서드를 통해 반복 할 싶지 않아요!. 이것은 테이블을 정의한 후 SQL 데이터베이스를 사용하는 것과 비슷합니다. 이동하여 해당 DB에 행을 입력 할 수 있습니다.CoreData, 모델, 정적 데이터 정의

답변

1

코어 데이터 지속성 저장소에 기본 Entity 개체를 삽입하기 위해 (코드에서) 논리를 구현 한 다음 시작할 때 데이터베이스가 비어있는 경우에만 해당 논리를 실행할 수 있습니다. ,

- (NSManagedObjectContext *)managedObjectContext 
{ 
    if (_managedObjectContext != nil) { 
     return _managedObjectContext; 
    } 

    NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator]; 
    if (coordinator != nil) { 
     _managedObjectContext = [[NSManagedObjectContext alloc] init]; 
     [_managedObjectContext setPersistentStoreCoordinator:coordinator]; 
    } 

    // Beginning of code added to Xcode-generated app delegate 
    NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Entity"]; 
    NSArray *results = [_managedObjectContext executeFetchRequest:request error:NULL]; 
    if ([results count] == 0) { 
     // Call method to insert default entities 
    } 
    // End of code added to Xcode-generated app delegate 

    return _managedObjectContext; 
} 

기본 요소를 삽입하기위한 가장 좋은 방법은 얼마나 많은에 따라, 그들이 얼마나 가능성 변경 :이 같은 일을하고있는 코어 데이터 프로젝트의 엑스 코드에서 생성 된 응용 프로그램 대리인에게이 검사를 추가 할 수 있습니다 마찬가지로, 위에 포함 된 질의는 많은 엔티티가있는 경우 이상적이지 않습니다. 왜냐하면 나는 그것들을 모두 가져 와서 어떤 것이 있는지를 알기 때문입니다. 이는 접근 방식에 대한 아이디어를 제공하며 특정 양의 데이터를 기반으로 최적화해야합니다.

+0

Thnx, 내가 찾고있는 것입니다. –

0

기본 콘텐츠를 제공하지 않는 경우처럼 간단하게 응용 프로그램을 만드는 것이 가장 쉬운 방법입니다. 그런 다음 시뮬레이터에서 앱을 실행하고 콘텐츠를 추가하십시오. 이제 앱을 중지하고 Mac에서 데이터 파일을 찾아서 프로젝트에 복사 한 다음 프로젝트 리소스에 추가하십시오. 이미 설치되어 있지 않은 경우 번들 디렉토리에서 문서 디렉토리로 파일을 복사하는 앱 시작시 일부 코드를 입력하십시오.

관련 문제