2010-02-04 8 views
1

presentModalViewController 메서드를 호출하여 표시 한 UIViewController가 있는데 이제는 dismissModalViewControllerAnimated :로 닫으려고합니다. 모든 것이 잘 작동하지만 거기에 모든 이벤트 또는 내 UIViewController 해산 처리 할 수있는 대리자 메서드가 무엇입니까?iPhone SDK : dismissModalViewControllerAnimated :

답변

4

일반적으로 해고를하는 코드이므로 이벤트가 필요하지 않습니다. 어떤 이유로 (디커플링 등) 하나가 필요한 경우 NSNotificationCenter을 쉽게 사용할 수 있습니다.

// listen for an event 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onDialogDimissed:) name:@"myapp_dialog_dismissed" object:nil]; 

- (void) onDialogDismissed:(NSNotification*)n 
{ 
    NSLog(@"yay"); 
} 

// raise an event 
[[NSNotificationCenter defaultCenter] postNotificationName:@"myapp_dialog_dismissed" object:nil userInfo:nil]; 

그것은 모든 다른 쪽 끝에 표시됩니다 잘 어울리는 경우에 당신이 당신의 자신의 하위 클래스 나 특별 이벤트 래퍼를 만들 필요가 없습니다 있도록, 사용자 정보에있는 NSDictionary *를 통과 할 수 있음을 언급 아마 가치 이벤트 사이에서 데이터를 전달하기 만하면됩니다.

+0

괜찮 았어, 고마워,하지만 한 가지 더 문제가있어, 당신이 작성한 알림이 해제되기 전에 viewcontroller가 닫히지 만, 해고 후에 이벤트 나 뭔가를 원한다. 아마 이것을 해결할 수 있을까요? –

+0

언제든지 이벤트를 발생시킵니다. 어떤 코드가 대화 상자를 닫는 지 이벤트를 발생시켜야하는 코드입니다. 해지 후 – slf

+0

잘 알고 있습니다.) –