2015-01-14 36 views
1

我有這樣的代碼:神奇記錄保存記憶只

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。我該怎麼辦?謝謝

+0

你試圖使對象的副本? –

+0

謝謝。但是如何?抱歉,我是核心數據新手。 –

+0

只要持久性存儲不是內存存儲,您將使所有創建的對象都保留在磁盤上。完成使用後,您可以刪除不想存儲的對象 – Volker

回答

1

設置person.age不會將新值保存到持久性存儲中。只有當您保存其中person對象存在的NSManagedObjectContext(您可能使用魔法記錄save方法之一來做到這一點)時,該值纔會被保存。您可以放棄在person對象進行保存上下文之前的變化,所以他們不會被保存到持久性存儲:

[person.managedObjectContext refreshObject:person mergeChanges:NO]