如何创建自定义事件?

时间:2011-04-22 06:52:19

标签: iphone

我有一个带有子视图view2的view1,其中我有一个UIButton按钮,它触发了一个动作soSomething:

view1
--view2
----IBOutlet UIButton *button
-----(IBAction) doSomethingid)sender

点击按钮调用doSomething。 现在我如何在doSomething中调度自定义事件并在view1中捕获它?

例如在view2中:

代码:

-(IBAction)doSomething:(id)sender{
  // Disptach the event for the parent "superView" to receive

}

然后在view1中有处理该事件的东西。

2 个答案:

答案 0 :(得分:6)

在您的动作活动中

// Dispatch the event for the parent "superView" to receive
-(IBAction) doSomething:(id)sender{
    [[NSNotificationCenter defaultCenter] postNotification:@"SomeEventName"];
}
在您的view1 viewdDidLoad方法中

编写此代码

[[NSNotificationCenter defaultCenter] addObserver:self
    selector:@selector(methodToHandel) name:@"SomeEventName" object:nil];

并添加此方法来处理该事件

-(void) methodToHandel{
    // this method get call 
}

答案 1 :(得分:0)

您可以使用NSNotificatons或委派,具体取决于您的应用的设置方式。我建议查看文档以了解有关这些内容的更多信息。