Objective C如何在对象之间进行通信?

时间:2012-01-23 23:42:20

标签: objective-c delegates notifications

试图找出最好的做事方式。我是客观c语言的新手。

我有对象类A和对象类B,并希望A在类B上调用一个方法,一旦完成该方法,让B调用A返回告诉结果。

我现在正在做的是在A类中向NSNotificationCenter添加self。比B级发布通知。它有效,但对于这种简单的过程来说似乎有些过分。

简单地将self的指针传递给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];
}

1 个答案:

答案 0 :(得分:3)

只需使用protocolsSwift 3.1)。 here得到了很好的解释。

协议声明可以由任何类实现的方法。协议在至少三种情况下都很有用:

  • 声明其他人应该实施的方法
  • 在隐藏类的同时声明对象的接口
  • 捕捉非等级相关的类之间的相似性