2013-11-04 2 views
1

unwind segue을 구현하려면 대상보기 컨트롤러에서 개인 메서드를 생성하고 스토리 보드에서 컨트롤을 드래그해야합니다.Xcode에서 푸는 동안 개인 메소드를 호출하는 사람은 누구입니까?

나는 모른다 : 방법 이 개인 인 경우, 어떻게 작동 하는가? 왜냐하면 내보기 컨트롤러의 구현 파일에서이 호출하지.

+0

에 오신 것을 환영합니다 SO에를! 질문을 설명하기 위해 코드를 공유 할 수 있습니까? 당신이 무엇을 요구하고 있는지 완전히 명확하지 않습니다. – Derek

+0

- (IBAction) unwindToList : (UIStoryboardSegue *) segue {} 안녕하세요, "오늘 iOS Apps 개발 시작" – Mark

답변

0

응용 프로그램이 실행되면 .storyboard 파일을 먼저 파싱하여 인스턴스화해야하는 클래스와 기타 연결 정보 (segue 연결)와 같은 기타 정보를 파악합니다. 그런 다음 클래스 인스턴스를 만들고 나중에 관리합니다. 그런 다음 요청이있을 때 (예 : 버튼 누름 후) 제어기 인스턴스에서 unwindToList: 메소드를 찾으려고 시도합니다. 있을 경우 실행됩니다. 그렇지 않은 경우는 예외가 슬로우됩니다.

그러나이 방법은 정확하게 숨겨지지 않습니다. 기본적으로 Objective-C에는 private 메서드가 없습니다. 적어도 다른 언어들과 같은 방식으로는 안된다. 모든 메소드는 런타임에서 액세스 할 수 있습니다. 당신은 오브젝티브 C는 정확히를 작동하는 방법에 관심이 있다면, 예를 들어,이 페이지를보십시오 :

How does objective-c handle method resolution at run-time?

http://cocoasamurai.blogspot.ru/2010/01/understanding-objective-c-runtime.html

+0

답변 해 주셔서 감사합니다! 어떤 경우에는 ".m"파일 내에서만 메서드 선언을 사용합니까? – Mark

+0

사실 그것은 "개인"행동을 모방하는 속임수 중 하나입니다. 거기에 대한 확실한 가이드가 없습니다. 일반적으로 공개 API는 .h 파일에 저장하고 내부는 내부에 보관합니다. –

관련 문제