2012-01-23 37 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

相关问题