2012-04-23 2 views
1

나는 namesArray이라고하는 NSArray이 있습니다.NSArrays에서 데이터를 코어러스에 삽입하는 방법

namesArray에있는 모든 이름을 coredata을 사용하여 저장해야합니다.

어떻게해야합니까?

우리는 'names.sqlite'과 같은 데이터베이스를 sqlite manager를 사용하여 생성해야합니까?

답변

1

아니요. 관리자를 사용하여 names.sqlite을 만들 필요가 없습니다. 예를 들어, Here 또는 Here과 같이 인터넷에있는 자습서를 살펴보아야합니다.

기본적으로 데이터 모델은 valueForKey 형식으로 저장해야합니다. AppDelegate에의 인스턴스를 생성

//Coredata saving 
self.theAppDel=[[UIApplication sharedApplication] delegate]; 
NSManagedObjectContext*context=[self.theAppDel managedObjectContext]; 
NSManagedObject*object=[NSEntityDescription insertNewObjectForEntityForName:@"Contacts" inManagedObjectContext:context]; 
NSError*error=nil; 

[object setValue:[namesArray objectAtIndex:0] forKey:@"name"]; //for saving first name 

1..

2에 액세스합니다 당신이 이름 연락처와 엔티티 설명을 만들어 가정 Managed Object ContextManaged Object

3.. 배열에있는 항목의 수를 계산하여 각 객체에 name이라는 열을 추가합니다 (내가 작성했다고 가정하고 있음).

이것은 간단한 예이지만 자습서를 읽고 사과 설명서를 읽어야합니다.

EDIT : Ondra가 언급 한 것처럼 이전 솔루션은 마지막 요소 만 추가했을 것입니다. 추가를 위해 다음을 사용하십시오 : Adding NSMutableArray in CoreData 감사합니다 Ondra Peterka

1

iNoobs 응답이 작동하지 않을 것이라고 생각합니다 - 루프가 값을 여러 번 덮어 쓸 것입니다 (성만 저장됩니다). 모든 경우에 자습서를 읽는 것이 좋습니다. 아마 당신이 찾고있는 답은 여기에 있습니다 : 또한 Saving an NSMutableArray to Core Data

... 난 당신이 명시 적으로 "핵심 데이터에 저장"고 말했다 알고 있지만 단지의 경우 - 당신이 사용할 수있는 또 다른 저장 NSUserDefaults 같은 :

[[NSUserDefaults standardUserDefaults] setObject:namesArray forKey:@"namesArray"]; 
나중에 사용

하고 검색 :

myArray= [[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"namesArray"]]; 

코스 NSUserDefaults의 데이터의 소량 만 사용하기에, 표준입니다.

행운을 빕니다.)

관련 문제