私はNSArray
と呼ばれていnamesArray
ます。
namesArray
を使用して存在するすべての名前を保存する必要がありますcoredata
。
どうすればこれを達成できますか?
'names.sqlite'
sqliteマネージャーを使用するようなデータベースを作成する必要がありますか?
私はNSArray
と呼ばれていnamesArray
ます。
namesArray
を使用して存在するすべての名前を保存する必要がありますcoredata
。
どうすればこれを達成できますか?
'names.sqlite'
sqliteマネージャーを使用するようなデータベースを作成する必要がありますか?
iNoobsの答えは機能しないと思います-ループは値を数回上書きします(姓のみが保存されます)。いずれの場合も、チュートリアルを読むことをお勧めします。たぶんあなたが探している答えはここにあります:NSMutableArrayをコアデータに保存する
また...「コアデータに保存」と明示的に言ったことは知っていますが、念のため、次のような別のストレージを使用することもできますNSUserDefaults
。
[[NSUserDefaults standardUserDefaults] setObject:namesArray forKey:@"namesArray"];
後で使用して取得します。
myArray= [[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"namesArray"]];
もちろん、NSUserDefaultsは、少量のデータにのみ使用されるようになっています。
幸運を ;)
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