如何通过使用 managedObjectContext 使用实体?
How to use entity with using managedObjectContext?
我不想保存到持久性存储。我如何在不保存到持久性存储的情况下使用实体 class?
创建托管对象上下文和持久核心协调器后,您将两个持久存储分配给存储协调器:
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 存储的对象才会保存到磁盘。如果您重新启动应用程序,分配给内存存储的对象将会消失。
我不想保存到持久性存储。我如何在不保存到持久性存储的情况下使用实体 class?
创建托管对象上下文和持久核心协调器后,您将两个持久存储分配给存储协调器:
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 存储的对象才会保存到磁盘。如果您重新启动应用程序,分配给内存存储的对象将会消失。