2016-11-06 3 views
0

私は永続ストレージに保存したくありません。永続ストレージに保存せずにエンティティクラスを使用するにはどうすればよいですか?managedObjectContextを使用してentityを使用するにはどうすればよいですか?

+0

問題の理由を説明してください。 – shallowThought

+0

エンティティクラスにしたいが、永続ストアに保存したくない。 – coreDeviOS

+0

が分かります。しかし、なぜ? – shallowThought

答えて

0

管理オブジェクトコンテキストと永続的なコアコーディネーターを作成した後、あなたはストアコーディネータに2つの永続ストアを割り当てるに:あなたはコンテキストに新しいオブジェクトを挿入すると

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ストアに割り当てられたオブジェクトのみがディスクに保存されます。アプリケーションを再起動すると、インメモリストアに割り当てられたオブジェクトはなくなります。

+0

それは助けてくれてうれしい.. upvoteすることを忘れないでください..乾杯! –

+0

- (NSPersistentStore *)inMemoryStore { NSError * error = nil; 戻り値[_persistentStoreCoordinator addPersistentStoreWithType:NSInMemoryStoreType設定:なしURL:なしオプション:なしエラー:&エラー]; } – coreDeviOS

+0

現在動作していません。 – coreDeviOS

関連する問題