为啥 MR_save 不起作用但 MR_saveNestedContexts 起作用?
Posted
技术标签:
【中文标题】为啥 MR_save 不起作用但 MR_saveNestedContexts 起作用?【英文标题】:Why does MR_save not work but MR_saveNestedContexts does?为什么 MR_save 不起作用但 MR_saveNestedContexts 起作用? 【发布时间】:2012-11-15 10:37:59 【问题描述】:我正在使用 MagicalRecord 来保存一个名为“Me”的托管对象。这是我正在尝试的两种方法(第一种方法不保存数据,但第二种方法可以):
NSManagedObjectContext *localContext = [NSManagedObjectContext MR_contextForCurrentThread];
[Me MR_createInContext:localContext];
[localContext MR_save];
上面的方法不会持久化数据,但下面的方法会:
NSManagedObjectContext *localContext = [NSManagedObjectContext MR_contextForCurrentThread];
[Me MR_createInContext:localContext];
[localContext MR_saveNestedContexts];
为什么 MR_save 不起作用?
【问题讨论】:
请参阅"Regarding MagicalRecord, what is the difference between the methods MR_saveNestedContexts and MR_save"。两种方法之间有很好的描述。 那么每次存储新实体时调用 MR_save 和 MR_saveNestedContexts 是否重要? 从 2.0.8 版开始,如果您想确保将嵌套上下文持久保存到商店,请使用MR_saveNestedContexts
。如果您想保存 ONLY ONE 父母,请使用MR_save
。 IF 父级恰好是根/默认上下文,MR_saveNestedContexts
和 MR_save
做同样的事情,就是坚持存储。
如果您将您的 cmets 添加到答案中,我会给您绿色检查。
【参考方案1】:
来自cmets:
请参阅"Regarding MagicalRecord, what is the difference between the methods MR_saveNestedContexts and MR_save"。这两种方法之间有很好的描述。
从 2.0.8 版开始,如果您想确保将嵌套上下文持久保存到存储中,请使用 MR_saveNestedContexts
。如果您想保存 ONLY ONE 父母,请使用MR_save
。 IF parent 恰好是根/默认上下文,MR_saveNestedContexts
和 MR_save
做同样的事情,就是坚持存储。
【讨论】:
以上是关于为啥 MR_save 不起作用但 MR_saveNestedContexts 起作用?的主要内容,如果未能解决你的问题,请参考以下文章
Angular 的 $http.post 不起作用,它的 $http... 也不起作用,但 jQuerys ajax 起作用。为啥?
Javascript:为啥有时 alert() 不起作用但 console.log() 起作用?
为啥jquery plusslider在google chrome中不起作用但在firefox中起作用
在 HttpURLConnection 为啥 JSONObject as Params 不起作用但 String as Params 起作用