2013-12-08 1 views
0

최근 Core Data로 응용 프로그램을 개발합니다. 핵심 데이터와의 동시성을 고려할 때, 기본 인 this great article 인 부모/자식 MOC 패턴을 사용합니다.하위 관리 객체 컨텍스트를 수동으로 정리해야합니까?

그러나 여전히 질문이 있습니다. --- 자녀 MOC는 저장 후 수동으로 청소해야합니까? 즉 childContext = nil; 상위/하위 MOC 패턴에 대한 문서가 적습니다.

누군가 내게 손을 줄 수 있습니까? 고마워.

+0

"깨끗한"이란 무엇입니까? –

+0

@AbhiBeckert 불명확 한 내용에 사과드립니다. 내 업데이트를 읽으십시오. – ShengHuaWu

답변

1

예, 작업을 마친 즉시 하위 컨텍스트를 삭제해야합니다.

자식 컨텍스트를 나타내는 @property을 강력하게/보유한 경우 더 이상 필요하지 않으면이를 nil로 설정해야합니다.

강점/보유 속성이없는 경우 ARC는 childContext를 사용하는 마지막 코드 줄 바로 다음에 하위 컨텍스트를 할당 취소하는 코드 줄을 삽입합니다.

ARC가 사용 중지 된 경우 앱이 다음에 유휴 상태 일 때 자동으로 실행되어야합니다.

기본적으로 수동으로 제거하지 않아도됩니다. 그러나 수동으로 수행해야하는 경우가 있습니다. 이것에 관한 어떤 관리 객체 관련 문서도 찾을 수 없으며, objective-c의 표준 메모리 관리이며 다르게 동작하는 경우에만 문서화됩니다.

+0

따라서 "setParentContext :"메서드는 부모 컨텍스트에서 자식 컨텍스트로 강력한 (보유) 포인터를 만들지 않습니다. – ShengHuaWu

+0

부모로부터 자식까지 강력한 포인터 (또는 약한 포인터)가 자식에서 부모까지 생성됩니다. 속성이 설정되어있는 개체가 문서화되지 않은 한, 다른 개체를 "소유"하게됩니다. 그래서이 경우 이름에도 불구하고, 아이는 메모리 관리 관점에서 부모를 "소유"합니다. 이론적으로 부모는 아이가 존재한다는 것을 알지 않아야하며 어떠한 방식으로도 아이를 만지지 말아야합니다. –

+0

공유 해 주셔서 감사합니다. – ShengHuaWu