2011-10-31 6 views
2

관리 객체를 더티 상태로 만들 수 있습니까? 상위 관리 개체에 대한 관계가있는 관리 개체가 있습니다. 자식 관리 개체의 속성을 변경하면 부모 관리 개체를 더티 상태로 만들 수있는 방법이 있는지 궁금합니다.관리 대상 객체를 더러워 야합니다.

답변

0
  • Mac의 경우이 방법이 유용한 대부분의 경우 NSPersistentDocument을 사용해야합니다.
  • iOS 5 이상 버전에서는 UIDocument을 사용해야합니다.

이러한 작업을 수행 할 수없는 경우 부모에게 변경 사항을 적용 시키거나 하위 항목을 부모에 변경되도록 할 수 있습니다. 두 경우 모두 "마지막으로 변경된"속성을 수정하여 자신을 더럽게 만들 수 있습니다.

과 같은 메서드를 만들어 자식 트리를 이동하고 더러운 경우 YES을 반환 할 수 있습니다. 이렇게하면 실제로 오브젝트를 수정하지 않아도되므로 코어 데이터 최적화에 영향을주지 않습니다. 문서는 이런 식으로 행동하기 위해 hasChanges을 수정하는 것을 금지하지 않지만 개인적으로 그렇게하는 것이주의해야합니다.

하지만 가능하면 문서 클래스를 사용해야합니다. 왜냐하면이 클래스가 적합하기 때문입니다.

당신은 또한에 관심이있을 수 있습니다 Core Data Questions--Relationships, UUIDs, and Dirty States.

+0

NSPersistentDocument를 사용하여 관리 객체를 더티 상태로 설정하는 방법은 무엇입니까? – JPC

+0

문서에 모으고 자하는 오브젝트를 수집합니다. 문서와 관련된 객체를 수정하면 문서가 더러워집니다. 이것은 질문이 적용되는 대부분의 경우에 적합한 패턴입니다. 내가 논의하는 다른 접근법도 가능하지만 거의 항상 당신이 원하는 것을 원한다면, 당신은 실제로 문서 기반 응용 프로그램을 원한다. http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Documents/Concepts/RolesOfDocObjects.html –

관련 문제