제목이 자기 설명이라고 생각합니다. 나는 UIPopOverController를 가지고 있는데, 테이블 뷰이고 셀을 선택하면 UIViewController에 알려주고 싶다.어떻게하면 UIPopOverController에서 버튼이 눌려 졌는지 UIViewController에 알릴 수 있습니까?
쉬운 솔루션이 있습니까? 아니면 KeyValueObserving 또는 알림이 필요합니까?
제목이 자기 설명이라고 생각합니다. 나는 UIPopOverController를 가지고 있는데, 테이블 뷰이고 셀을 선택하면 UIViewController에 알려주고 싶다.어떻게하면 UIPopOverController에서 버튼이 눌려 졌는지 UIViewController에 알릴 수 있습니까?
쉬운 솔루션이 있습니까? 아니면 KeyValueObserving 또는 알림이 필요합니까?
NSView를 통해 NSNotification을 게시하고 UIViewController를 옵저버로 추가하십시오.
두 가지 방법 중 하나를 선택하여 이동할 수 있습니다.
첫 번째 : 대리인/프로토콜을 사용합니다. http://www.thepensiveprogrammer.com/2010/05/objective-c-protocols-and-delegates.html
초 : UIButton의 대상으로 UIViewController를 설정하십시오. 예를
[btn addTarget:myController action:@selector(ActionWillBePerformedInController:) forControlEvents:UIControlEventTouchUpInside];
NSNotification이 잘 작동합니다 게시에 대한
... 당신은 또한 당신의있는 UITableViewController 클래스의 콜백 객체와 선택기를 만들 수 있습니다.
당신이 당신의있는 tableView의 건물 인 didSelectRowAtIndexPath에서 다음 에 값을 저장 ... 콜백 객체와 콜백 선택initWithTarget:(id)theTarget andSelector:(SEL) theSelector
로있는 UITableViewController를 초기화 할 수
는 ... 전화
[self.target performSelector:self.selector];
이 방법론을 사용하면 원하는대로 콜백 메서드를 정의 할 수 있습니다 .. Popover를 만든 ViewController 클래스에서, 당신은 이렇게 할 수 있습니다 ...
[[MyTableView alloc] initWithTarget:(self) andSelector:@selector(popoverControllerDidRequestClose)];
가장 쉬운 방법이라고 생각하십시오. – madmax