내 프로젝트 디자인은 두 개의 서로 다른 baseURLs
와 함께 두 개의 서로 다른 RKObjectManagers
두 개의 완전히 분리 된 영구 저장소를 만들 저를 필요로 store1.sqlite 처리됩니다RestKit 두 개의 별도의 영구적 인 저장을 만드는 0.2X
관리자 2 :
1)이 별도의 데이터 모델을 : 내가 아는 것과,
그래서 store2.sqlite 다루는 것, 내가 만들 필요가 모델 1 & m ODEL 2
2) 2 개의 별도 관리 오브젝트 컨텍스트 : 컨텍스트 1 & 컨텍스트 2
3) 1 persistentStoreCoordinator
는 I 이전 이런 코어 데이터 (1 개 저장소)과 함께 작동하도록 설정 RestKit 0.2x
하곤
RKObjectManager
내 질문입니다
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];
은 다음과 같습니다 :
1) 정확히 2 개의 완전히 다른 영구 저장소를 올바르게 설정하려면이 코드를 어떻게 변경해야합니까?
2) (예 : store1과 관련된) 원하는 컨텍스트에 어떻게 액세스합니까? 보통 managedObjectStore1.mainQueueManagedObjectContext]
을 사용합니까?
미리 감사드립니다.
p.s. applicationDidFinishLaunchingWithOptions
에서 나는 NSFileManager
으로 sqlite 파일을 삭제하고 새로운 깨끗한 것을 생성하여 저장소 2의 모든 데이터를 지워야 만한다. 왜냐하면 내 메모리 NSObjects
을 사용하면 iPhone 메모리를 죽일 것이기 때문에 제 경우에는 수천 개의 레코드가 작동하기 때문입니다.
두 개의 완전히 분리 된 RestKit/CoreData 스택이 필요한 이유는 무엇입니까? 단지 두 개의 지속적인 상점을 갖는 것으로 충분하지 않습니까? – Rivera