RESTKit:RKManagedObjectStore & 删除数据
Posted
技术标签:
【中文标题】RESTKit:RKManagedObjectStore & 删除数据【英文标题】:RESTKit: RKManagedObjectStore & Deleting the data 【发布时间】:2014-04-23 13:43:47 【问题描述】:下面是我必须设置 ObjectStore 的代码,它工作正常。
- (RKManagedObjectStore *)setupCoreDataWithRESTKit
NSError * error;
NSURL * modelURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"app" ofType:@"momd"]];
NSManagedObjectModel * managedObjectModel = [[[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL] mutableCopy];
self.managedObjectStore = [[RKManagedObjectStore alloc] initWithManagedObjectModel:managedObjectModel];
[self.managedObjectStore createPersistentStoreCoordinator];
NSArray * searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * documentPath = [searchPaths objectAtIndex:0];
NSPersistentStore * persistentStore = [self.managedObjectStore addSQLitePersistentStoreAtPath:[NSString stringWithFormat:@"%@/app.sqlite", documentPath] fromSeedDatabaseAtPath:nil withConfiguration:nil options:nil error:&error];
NSAssert(persistentStore, @"Failed to add persistent store with error: %@", error);
if(!persistentStore)
NSLog(@"Failed to add persistent store: %@", error);
[self.managedObjectStore createManagedObjectContexts];
return self.managedObjectStore;
- (id)optionsForSqliteStore
return @
NSInferMappingModelAutomaticallyOption: @YES,
NSMigratePersistentStoresAutomaticallyOption: @YES
;
问题 1:我需要多久调用一次此代码?应用程序第一次启动时只有一次?或者每次启动应用程序时?还是每次发布时我需要访问商店一次?
问题 2:我缓存每个用户的数据。如果用户退出应用程序,我想删除所有数据/对象(或数据存储区?),有什么最佳做法建议吗?
【问题讨论】:
【参考方案1】:我需要多久调用一次此代码?
每次启动应用程序时
我缓存每个用户的数据。如果用户退出应用程序,我想删除所有数据/对象(或数据存储区?),有什么最佳做法建议吗?
如果要删除所有内容,则销毁托管对象上下文并存储协调器并从磁盘中删除 SQLite 文件。
如果你只是想删除一些东西,那么从上下文中删除托管对象并保存上下文(和持久存储)。
【讨论】:
以上是关于RESTKit:RKManagedObjectStore & 删除数据的主要内容,如果未能解决你的问题,请参考以下文章
RestKit 0.20:restkit 对象映射使属性映射加倍
将“import <RestKit/RestKit.h>”添加到 AppDelegate.m 的问题
Restkit 0.20.x cocoapods 安装问题 - 编译但找不到 RestKit 的导入