iPhone SDK:dismissModalViewControllerAnimated:

时间:2010-02-04 14:08:15

标签: objective-c iphone

我有一个UIViewController,通过调用presentModalViewController方法显示,现在我想用dismissModalViewControllerAnimated解除它:。 一切正常,但有没有任何事件或委托方法,我可以抓住来处理我的UIViewController的解雇?

1 个答案:

答案 0 :(得分: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 *传递给userInfo,如果一切顺利,将会显示在另一端,因此您不必创建自己的子类或特殊事件包装器来传递事件之间的数据。