2013-01-23 3 views
0

이 특정 코코아 프로젝트에서 일련의보기에 대한 속성이 있고 거기에 각각의 하위 뷰가 xml 파일에서 파싱됩니다.Obj-C 패턴 및 개체 메모리 발자국

한 번에 한 세트의보기 만 활성화되며보기가 자주 변경 될 수 있습니다.

그것은)

A. 것이 가장 파싱 특성 뷰 객체를 초기화하고 필요할 때 사용될 배열 이들에 대한 참조를 저장할 것인가.

b.) NSObject를 구문 분석 된 속성으로 초기화하면 공장을 통해 필요에 따라 각각의보기를 만들 수 있습니다.

이 논리는 NSView가 사용되지 않고 (대다수) 영구 참조가 없으므로 필요할 때 ARC에 의해 할당 해제 될 수 있다는 논리입니다.

다른 질문이 있습니다.

NSView가 참조되었지만 표시되지 않을 때이 모든 작업이 백그라운드에서 이루어집니다 (NSView는 NSObject 하위 클래스이므로).

+0

이 ARC와 어떤 관련이 있습니까? –

+0

ARC와 관련이 적은 질문으로 인해 제목이 명확하게 편집되었습니다. – user2005591

+0

많은 양의 데이터를 다룰 때 "압축 된"형식으로 데이터를 처리하고 필요할 때 다양한보기 구성 요소 만 구성하는 것이 일반적으로 더 좋습니다. –

답변

0

자신의 xib 버전을 구현하는 것에 대해 설명하고 있습니다. 나는 "최고의"대답은 당신의 디자인 결정을 재고하는 것이라고 말할 것입니다. 원하는 결과를 얻는 더 좋고 쉬운 방법이있을 것입니다.

NSView의 모든 속성과 서브 뷰 대 NSView의 배열을 설명하는 NSObject의 배열 사이의 메모리 차이는 공칭입니다.

대부분의 메모리 효율적인 방법은 NSWindowController 또는 NSViewController를 통해 단일 뷰를 지연 직렬화하는 것입니다.