퍼시스턴스 스토리지에 저장하고 싶지 않습니다. 지속성 스토리지에 저장하지 않고 엔티티 클래스를 어떻게 사용할 수 있습니까? 관리되는 개체 컨텍스트와 지속적인 핵심 코디네이터를 생성 한 후managedObjectContext를 사용하여 entity를 사용하는 방법은 무엇입니까?
답변
, 당신은 가게 코디네이터에게 두 개의 영속 저장을 할당 : 당신이 컨텍스트에 새 개체를 삽입 할 때
이NSPersistentStore *sqliteStore, *memoryStore;
sqliteStore = [coordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:nil error:&error];
if (sqliteStore == nil) {
// ...
}
memoryStore = [coordinator addPersistentStoreWithType:NSInMemoryStoreType configuration:nil URL:nil options:nil error:&error];
if (memoryStore == nil) {
// ...
}
나중에, 당신은 어느 새 개체를 연결 SQLite 저장소 또는 메모리 내 저장소 :
Records *record = [NSEntityDescription insertNewObjectForEntityForName:@"Records" inManagedObjectContext:context];
[context assignObject:poster toPersistentStore:memoryStore];
// or: [context assignObject:poster toPersistentStore:sqliteStore];
record.empID = ...;
record.name = ...;
SQLite 저장소에 할당 된 개체 만 디스크에 저장됩니다. 응용 프로그램을 다시 시작하면 메모리 내장 저장소에 할당 된 객체가 사라집니다.
도움이 된 것을 기쁘게 생각합니다 .. 제발 upvote 잊지 마세요 .. 건배 !! –
- (NSPersistentStore *) inMemoryStore { NSError * error = nil; return [_persistentStoreCoordinator addPersistentStoreWithType : NSInMemoryStoreType 구성 : nil URL : nil 옵션 : nil 오류 : & 오류]; } – coreDeviOS
지금 작동하지 않습니다. – coreDeviOS
왜 그런지 문제를 설명해주십시오. – shallowThought
엔티티 클래스를 원하지만 영구 저장소에 저장하지 않으려합니다. – coreDeviOS
이 이해되었습니다. 하지만 왜? – shallowThought