iOS-Xcode의 파일 소유자 및 첫 번째 응답자는 무엇입니까?


답변:


170

파일 소유자는 펜촉이로드 될 때 펜촉과 해당 콘센트 / 액션의 내용을 소유 하는 인스턴스화 된 런타임 객체입니다. 원하는 클래스의 인스턴스가 될 수 있습니다. 도구 팔레트의 ID 탭을 살펴보십시오.

파일 소유자는 애플리케이션 코드와 nib 파일의 내용 사이의 주요 링크입니다.

예를 들어, UILabel에 대한 IBOutlet이있는 UIViewController 서브 클래스가 있다고 가정하십시오. 인터페이스 빌더에서 파일의 소유자는 UIViewController와 동일한 클래스로 설정됩니다. 펜촉이 런타임에로드되면 펜촉에 정의 된 아웃렛과 작업의 바인딩은 뷰 컨트롤러가 소유자이므로 뷰 컨트롤러의 인스턴스에 바인딩됩니다.

펜촉은 다음을 사용하여로드됩니다.

[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil];

소유자 매개 변수는 특히 중요합니다. 로드되는 펜촉의 내용 (출력, 작업 및 개체)을 소유하는 클래스의 런타임 인스턴스입니다.

바라건대 그것은 분명합니다. 이를 확인하려면 뷰 컨트롤러를 사용하여 새로운 iPhone 프로젝트를 만드십시오. Nib 파일을 열고 ID 탭을 살펴보십시오.

첫 번째 응답자는 단순히 이벤트에 응답 할 수있는 응답자 체인의 첫 번째 개체입니다. 응답자 체인은 이벤트에 응답 할 수있는 개체의 런타임 컬렉션 (또는 더 정확하게는 계층)입니다. 예를 들어보기가있는 창이 있고 해당보기에 텍스트 필드가 있다고 가정합니다.

해당 텍스트 필드에 포커스가 있으면 체인의 첫 번째 응답자라고합니다. 따라서 첫 번째 응답자에게 메시지를 보내면 먼저 텍스트 필드로 전송됩니다. 텍스트 필드가 메시지를 처리 ​​할 수없는 경우 다음 응답자 에게 전송됩니다 . 그리고 다음. 다음으로 응답자 체인의 끝에 도달하거나 이벤트 (iirc)를 소비 할 때까지.

응답자 체인은 읽을 가치가 있습니다. 자세한 내용은 apple의 문서를 참조하십시오.


1
@dannywartnaby : 자세한 설명 !! +1
Jayprakash Dubey

1
훌륭한 설명!
TMin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.