2014-06-16 5 views
0

나는 현재 모델의 NSArray를이 예컨대 개체가 개체 :

<__NSArrayM 0xb63ea40>(
<Car> 
    [carModel]: BMW 
    [carYear]: January 1998 
    [carName]: Series 3 
</Car>, 
<Car> 
    [carModel]: Audi 
    [carYear]: September 2002 
    [carName]: AX1245 
</Car> 
) 

응용 프로그램이 오프라인 상태이거나 사용자가 응용 프로그램을 종료해도 내가 액세스 할 수 있습니다 지속적 그래서이 데이터를 저장할. 이 작업을 효율적으로 수행하는 방법에 대한 권장 사항이 있습니까?

+0

Core Data (코어 데이터) 완벽하게 올바른 방법으로 수행하려면 Core Data (코어 데이터)를 선택하십시오. 그러나 NSUserDefaults를 사용하는 것이 현재의 경험 수준에서 질문에 의해 판단 할 때 훨씬 쉽고 빠를 수도 있습니다. – user3344977

답변

-1

배열이 충분히 작은 경우 NSUserDefaults을 사용할 수 있습니다. 예를 들어

: 배열 비록 몇 개체 이상이

// Store the array 
[[NSUserDefaults standardUserDefaults] setObject:carArray forKey:@"carArrayKey"]; 

// Retrieve the array 
NSArray *carArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"carArrayKey"]; 

경우, 데이터베이스를 사용한다. 핵심 데이터는 약간의 가파른 학습 곡선을 가지고 있지만 캐싱과 같은 많은 어려운 작업을 처리하고 전체 개체 그래프를 저장하고 호출 할 수 있습니다.

+0

최대 20 개 개체가 배열에 저장되어 있지만 코어 데이터에 대한 귀하의 요점을 볼 수 있습니다. 두 분 모두를 살펴 보겠습니다. – AccDa

+0

NSUserDefaults는 해당 크기의 배열로 충분합니다. 더 큰 데이터 세트를 사용하고 있거나 해당 정보로 'UITableView'를 채우는 경우 Core Data는 이상하게 작동합니다! –

0

댓글로 추가 하겠지만 평판이 없습니다.

핵심 데이터를 사용하면 왜 이런 식으로하지 않습니까? 하나의 Car 엔티티를 생성 한 다음 Core Data로 관리 할 수 ​​있습니다. 그러면 앱의 데이터가 유지됩니다.

+1

이것은 가능해야하지만 핵심 데이터가 단순한 데이터를 저장하는 데 많은 복잡성을 추가한다고 생각합니다. – AccDa