Apple이 메모리 관리 프로그래밍 안내서에서 어떤 "최상위 객체"에 대해 이야기하고 있습니까?

StackOverflow https://stackoverflow.com/questions/804539

  •  03-07-2019
  •  | 
  •  

문제

에서 코코아를위한 메모리 관리 프로그래밍 안내서 애플은 최상위 개체에 대해 이야기합니다. 그들은 각자마다 아울렛이 필요하다고 말합니다.

그러나 아울렛에 저장하지 않는 최상위 객체가있는 경우 LoadNibNamed가 반환 한 배열을 유지해야합니다. 소유자 : 옵션 : 어레이 내부의 객체가 조기에 해제되는 것을 방지합니다.

그렇다면 "최상위 객체"는 정확히 무엇을 의미합니까? 나는 그들이 루트보기와 창에 대해 이야기한다고 말할 것입니다. 또 뭐야? 그리고 이것은 펜촉을 수동으로로드하고 싶은 경우에만 힌트입니까? 아니면 펜촉과 사례에 적용됩니까?

도움이 되었습니까?

해결책

최상위 객체는 파일의 소유자 및 응용 프로그램 이외의 인터페이스 빌더의 기본 NIB 창에 나타나는 객체입니다.

다른 팁

예, 이것은 펜촉을 수동으로로드하는 경우에 관한 것입니다. 그렇지 않으면 전화하지 않았을 것입니다. loadnibnamed : 소유자 : 옵션 :.

파일의 소유자, 첫 번째 응답자가있는 창에 나타나는 개체는 최상위 객체입니다. 뷰에 추가 한 내용은 하위 뷰가됩니다. 모든 하위 뷰는 직접 슈퍼 뷰에 의해 유지되므로 다른 곳에 보관할 필요가 없습니다. 보기 자체는 뷰 컨트롤러에 의해 유지되므로 유지할 필요가 없습니다.

비 뷰 객체를 추가하거나 메인 뷰에 바로 넣지 않는 뷰 (현재 표시되지 않은 도구 막대 버튼)를 유지 해야하는 경우 보유해야합니다. 그렇지 않으면 출시됩니다. 이 작업을 수행하는 것이 선호하는 방법은 다음과 같이 @property를 사용하는 iboutlets입니다.

@property(nonatomic, retain) IBOutlet UIBarButtonItem * myButton;

이로 인해 -setmybutton : 파일의 소유자에게 호출되며 (이 코드가 파일의 소유자에있는 경우) IB를 통해 연결된 객체는이 속성에 저장되도록 전송됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top