코어 데이터 엔티티의 관계에 대한 정렬을 시도하고 있습니다. 예를 들어 직원 개체가 있고 부서 관계가 있습니다.코어 데이터 및 NSSortDescriptor - 메모리 기초
- 은 내가
departments
(NSSet
)를 꺼내하는 방법을 쓰기 직원 - 의 NSFetchRequest을하고 그것은 나에게 정렬 된 부서
내가 사용하는 코드는 다음과 같다을 가져옵니다.
[tempArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
나는 언젠가 얼마 후에도 메모리가 유지되는 것을 보았으며, 오랜 시간이 지나면 메모리가 유지되는 것을 보았습니다.
나는 이유//[moc setRetainsRegisteredObjects:YES];
그러나 그것은 도움이되지에게 수이 줄 생각을 제거했습니다. 나는 코어 데이터 객체의 NSSet
에있는 모든 객체 메소드가 메모리에서 범프를 일으키고 또한 sortedArrayUsingDescriptors
딥 복사를 수행한다는 것을 이해하고 싶습니까? 나는 그것이 얕은 복사본이라는 것을 알고있다. 그리고 객체의 배열을 사용하여 얻은 후에도 메모리가 유지되는 논리적 인 이유는 무엇일까? sortedArrayUsingDescriptors
을 사용했다.
먼저 질문을 명확히해야합니다. 또한 올바른 방식으로 형식을 지정해야합니다. 그렇다면 ARC를 사용하고 있습니까? 마지막으로, 큰 메모리 공간은 어디에서 볼 수 있습니까? –