2012-04-23 11 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という名前の列に追加します(作成したと仮定しています)。

これは簡単な例ですが、チュートリアルを読んで、Appleのマニュアルを読む必要があります。

EDIT: Ondraに言及したように、以前のソリューションでは最後の要素のみが追加されていました。 Adding NSMutableArray in CoreDataありがとうOndra Peterka

1

iNoobsの答えがうまくいかないと思います。ループは値を複数回上書きします(姓のみが保存されます)。どのような場合でもチュートリアルを読むのは良い考えです。 たぶんあなたが探している答えはここにある:Saving an NSMutableArray to Core Data

も...私はあなたが明示的に「コアデータに保存する」と述べたが、念のために知っている - あなたはNSUserDefaultsのように、異なるストレージを使用することができます。

[[NSUserDefaults standardUserDefaults] setObject:namesArray forKey:@"namesArray"]; 

と使用して、後でそれを取得:コースNSUserDefaultsの

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

だけ少量のデータのために使用されるようにメンターされています。

幸運;)

関連する問題