B.S*_*.S. 2 sqlite core-data ios magicalrecord
我MR在我的iOS应用程序中使用.我以与之前的应用程序相同的方式使用它,但我的对象不保存在数据库中.
我从调试中看到Magical Record *.sqlite在setupAutoMigratingCoreDataStack方法中正确找到了数据库
以下是一些示例测试代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[MagicalRecord setupAutoMigratingCoreDataStack];
NSManagedObjectContext *sampleContext = [NSManagedObjectContext MR_defaultContext];
NSLog(@"hasChanges: %d", [sampleContext hasChanges]);
self.entity = [MyEntity MR_createEntityInContext:sampleContext];
NSLog(@"hasChanges: %d", [sampleContext hasChanges]);
[sampleContext MR_saveOnlySelfWithCompletion:^(BOOL success, NSError *error) {
NSLog(@"save: %d %@", success, error);
}];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
hasChanges: 0
hasChanges: 1
save: 1 (null)
Run Code Online (Sandbox Code Playgroud)
我重新打开应用程序,看到没有实体保存在本地db([MyEntity MR_findAll])中,我打开*.sqlite db并看到该ZMyEntity表为空.
这种行为的原因是什么?
提前致谢!
如果要将更改下推到商店,请使用MR_saveToPersistentStore*变体.MR使用嵌套上下文,因此,您可以选择仅保存一个级别,或保存到商店.我们将此作为一个明确的代码选择,以帮助您确定所需的选项,而无需编写所有样板代码.
| 归档时间: |
|
| 查看次数: |
733 次 |
| 最近记录: |