2011-01-28 47 views
0

作为主题说我有一个理解事件处理的问题。问题了解iOS设备上的事件处理

基本上我有以下问题,我有一个类从其他类获取静态调用。当这样的呼叫到来时,它应该发送一个通知给其他听这个的类。

我知道有NSNotificationCenter,但正如我所看到的,这种方式在某种程度上以另一种方式工作?

希望有人可以帮助我在这里。

-mcb

+0

如何使用**代表**?我想这将适合你的需要.. – EmptyStack 2011-01-28 10:38:37

回答

0

NSNotificationCenter是超级好用。

一类说:

NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; 
[center addObserverForName:@"UniqueNotificationName" 
        object:self 
        queue:nil 
       usingBlock:^{ 
    NSLog(@"I just got notified of UniqueNotificationName!"); 
    //whatever else you want to do when you receive this notification 
}]; 

然后另一个类说:

NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; 
[center postNotificationName:@"UniqueNotificationName" 
         object:self]; 

和TA-DA!你已经通知第一类,第二类发布了通知。十分简单。

如果块阻止了你(他们在我开始真正使用它们之前就吓倒了我),还有一个“addObserver”版本取代了选择器。去看看如何拼写它的文档。国际海事组织NSNotificationCenter的班级文件以大多数用户不需要的方式深入了解事物的运作情况,所以如果您进入该文件中,并不担心,它似乎比应该更难。