私のプロジェクト設計では、2 つの異なる 2 つの異なる 2 つの完全に別個の永続ストアを作成する必要がありRKObjectManagers
ますbaseURLs
。
manager 1 : store1.sqlite を処理します
manager 2: store2.sqlite を処理します
だから、私が知っていることから、私は作成しなければなりません:
1) 2 つの個別のデータ モデル: モデル 1 とモデル 2
2) 2 つの個別の管理対象オブジェクト コンテキスト: コンテキスト 1 とコンテキスト 2
3) 1persistentStoreCoordinator
以前は、RestKit 0.2x
次のようなコア データ (1 ストア) を操作するようにセットアップしていました。
NSError *error = nil;
NSURL *modelURL1 = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"store1" ofType:@"momd"]];
NSManagedObjectModel *managedObjectModel1 = [[[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL1] mutableCopy];
RKManagedObjectStore *managedObjectStore1 = [[RKManagedObjectStore alloc] initWithManagedObjectModel:managedObjectModel1];
[managedObjectStore1 createPersistentStoreCoordinator];
NSString *storePath = [RKApplicationDataDirectory() stringByAppendingPathComponent:@"Store1.sqlite"];
NSPersistentStore *persistentStore = [managedObjectStore addSQLitePersistentStoreAtPath:storePath fromSeedDatabaseAtPath:nil withConfiguration:nil options:nil error:&error];
if (error) {
NSLog(@"unresolved error %@, %@", error, [error userInfo]);
abort();
}
[managedObjectStore1 createManagedObjectContexts];
manager1.managedObjectStore = managedObjectStore1 ;
managedObjectStore1.managedObjectCache = [[RKInMemoryManagedObjectCache alloc] initWithManagedObjectContext:managedObjectStore1.mainQueueManagedObjectContext];
ここで、manager1 はRKObjectManager
私の質問は次のとおりです。
1) 2 つの完全に別個の永続ストアを正しくセットアップするには、このコードにどのような変更を加える必要がありますか?
2) (store1 など) に関連する目的のコンテキストにアクセスするにはどうすればよいmanagedObjectStore1.mainQueueManagedObjectContext]
ですか?
前もって感謝します。
psでapplicationDidFinishLaunchingWithOptions
、sqliteファイルを削除して新しいクリーンファイルを作成するだけで、ストア2のデータをすべて消去するNSFileManager
必要があります.なぜデータを永続化するのですか? インメモリを使用するNSObjects
と iPhone のメモリが失われるため、私の場合は数千のレコードを処理する必要があります。