본문 바로가기
프로그래밍 놀이터/iOS

[ios] Core Data Revert / Rollback / Undo

by 돼지왕 왕돼지 2017. 12. 11.
반응형

[ios] Core Data Revert / Rollback / Undo


CoreData, Fault, managedObjectContext, merge conflict, mergechanges, Redo, refreshobject, rollback, undo, [ios] Core Data Revert / Rollback / Undo


-

CoreData 의 자료들을 다루다가 rollback 을 하고 싶다면 여러 가지 방법이 있다.



-

[managedObjectContext rollback];


이 녀석은 지금까지 반영된 & save 되지 않은 모든 변경사항을 되돌린다.



-

[managedObjectContext undo];


이 녀석은 가장 최근에 행해진 작업을 되돌리는 역할을 한다.

이 녀석과 페어를 이루는 것은 redo



-

[managedObjectContext refreshObject:object mergeChanges:NO];


이 녀석은 해당 managedObject 에 대해 변경사항을 버리고 현재 store 에 있는 자료로 reload 한다.

mergeChanges 가 NO 인 경우에는 object 가 fault 상태로 변경되면서 변경사항이 날아간다.


mergeChanged 가 YES 인 경우에는 현재 변경사항을 merge 를 하면서 reload 를 한다.

이 때 merge conflict 같은 것은 없다.



-

이런것을 rollback 등의 처리를 하기 싫다면 다른 ManagedObjectContext 를 사용하는 것도 추천된다.




반응형

댓글