2012-01-23 94 views
2

試圖找出做事情的最好方法。作爲一種語言,我不熟悉客觀的C語言。目標C如何在對象之間進行通信?

我有對象類A和對象B類,很想打電話給B類上的方法,一旦這個方法做是爲了有B呼叫了一個回來告訴結果。

我現在正在做的是在A級增加自我NSNotificationCenter。比B級發佈通知。它可以工作,但對於這種簡單的過程似乎是一種矯枉過正的行爲。

是否合法簡單地傳遞自己的指針,B類?就像是?

// from class A 
- (void)methodInClassA 
{ 
B * b= [[B alloc]init]; 
[b callMethod:self]; 
[b release]; 
b = nil; 
} 

where class B would be 
- (void)callMethod:(A*)sender 
{ 
    [sender resultCallbackMethod]; 
} 
+0

你應該使用一個單,這將擺脫任何您所遇到的問題。 –

回答

3

只需使用protocolsSwift 3.1)。 here很好解釋。

協議聲明可以被任何類實現的方法。協議至少在三種情況下是有用的:

  • 要聲明的是,其它公司有望實現
  • 要將接口申報的對象,而隱藏其類
  • 到未分級類中捕獲的相似方法相關
+0

正是我所需要的,正在尋找某種類型的「界面」。 – Chris

+0

協議文檔鏈接已損壞。 –

+0

鏈接已更新。謝謝! – dive

相關問題