1

私はNSArrayと呼ばれていnamesArrayます。

namesArrayを使用して存在するすべての名前を保存する必要がありますcoredata

どうすればこれを達成できますか?

'names.sqlite'sqliteマネージャーを使用するようなデータベースを作成する必要がありますか?

4

2 に答える 2

1

iNoobsの答えは機能しないと思います-ループは値を数回上書きします(姓のみが保存されます)。いずれの場合も、チュートリアルを読むことをお勧めします。たぶんあなたが探している答えはここにあります:NSMutableArrayをコアデータに保存する

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

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

後で使用して取得します。

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

もちろん、NSUserDefaultsは、少量のデータにのみ使用されるようになっています。

幸運を ;)

于 2012-04-23T12:05:51.160 に答える
1

names.sqliteいいえ、使用マネージャーを作成する必要はありません。たとえば、ネット上にあるチュートリアルのいくつかを実行する必要があります:HereまたはHere

基本的に、データモデルをフォーマットで保存する必要がありvalueForKeyます。

   //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.appdelegateのインスタンスを作成します。

2.Managed Object ContextとにアクセスしますManaged Object

3.連絡先という名前のエンティティの説明を作成したと仮定します。name配列内のアイテム数のカウントを使用して、 (作成したと想定している)という名前の列の各オブジェクトを追加します。

これは短い例ですが、チュートリアルを読み、アップルのドキュメントを読む必要があります。

編集:オンドラが述べたように、私の以前のソリューションは最後の要素のみを追加していました。追加するには、以下を使用します。CoreDataにNSMutableArrayを追加するありがとうOndra Peterka

于 2012-04-23T10:47:44.353 に答える