神奇的记录只保存内存
Posted
技术标签:
【中文标题】神奇的记录只保存内存【英文标题】:Magical record save memory only 【发布时间】:2015-01-14 10:27:22 【问题描述】:我有这样的代码:
Person *person = [Person MR_findFirstByAttribute:@"FirstName"
withValue:@"Forrest"];
NSLog("Person:%@",person);// age = 20
person.age = 25;
NSLog("Person:%@",[Person MR_findFirstByAttribute:@"FirstName"
withValue:@"Forrest"]);// age = 25
我看到当我设置persion = 25
MagicalRecord 时也将它保存到存储中。有时我只想保存person
而不是保存到PersistentStore
。我该怎么做?谢谢
【问题讨论】:
你试过复制对象吗? 谢谢。但如何?抱歉,我是核心数据的新手。 只要您的持久存储不是内存存储,您就会将所有创建的对象持久保存在磁盘上。您可以在使用完毕后删除不想存储的对象 【参考方案1】:设置person.age
不会将新值保存到持久存储中。仅当您保存存在person
对象的NSManagedObjectContext
时才保存该值(您可能使用Magical Record save
方法之一来执行此操作)。您可以在保存上下文之前丢弃在 person
对象中所做的更改,因此它们不会被保存到持久存储中:
[person.managedObjectContext refreshObject:person mergeChanges:NO]
【讨论】:
以上是关于神奇的记录只保存内存的主要内容,如果未能解决你的问题,请参考以下文章