해당 XIB 파일에서 "File 's Owner"인보기 컨트롤러 또는 창 컨트롤러가 있다고 가정 해 봅시다.구현 (.m) 파일의 IBOutlet 인스턴스 변수
Controller Builder에서 IBOutlet
을 가지고있는 것이 일반적입니다 (인터페이스 빌더를 사용하여 XIB에 연결할 수 있음).
지금까지 인터페이스 (.h) 파일에 IBOutlet
인스턴스 변수를 생성했습니다. 그러나 (여러분 모두 아시다시피) IBOutlet
은 매우 자주 컨트롤러 클래스의 개인 메커니즘입니다. 외부인은 그들에 대해 알지 않아야합니다.
이것이 Objective-C가 최근에 구현할 수있는 기능을 제공하기 시작한 이래로 내 IBOutlet
을 모두 구현 (.m) 파일에 넣기를 원하는 이유입니다.
나는이 일을 시도하고 이것은 잘 작동하는 것 같습니다. 내 질문은 다음과 같습니다. 왜 작동합니까? 인터페이스 빌더는 클래스의 헤더 파일 만 볼 수 있었지만 구현 파일은 들여다 보지 못했습니다. 내가 잘못? 어떻게 Interface Builder가 구현 파일을 "볼"수 있습니까? 구현 파일에 IBOutlet
인스턴스 변수를 넣는 것이 잠재적으로 위험 할 수 있습니까?
Mac에서 최신 런타임을 사용할 때만 가능하며 64 비트 만 의미합니다. 클래식 런타임에서는 모든 ivars를 헤더에 선언해야합니다. –