2011-01-28 35 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的班級文件以大多數用戶不需要的方式深入瞭解事物的運作情況,所以如果您進入該文件中,並不擔心,它似乎比應該更難。