MacRuby:符合协议

时间:2012-01-06 22:09:19

标签: objective-c delegates protocols macruby

我是MacRuby(和Objective-C)的新手。通过阅读一些Cocoa文档,我不断发现提到符合协议的代理的部分。到目前为止,我一直将AppDelegate设置为谈论委托的任何协议,但我不确定我是否符合必要的协议。

我需要了解有关协议的信息以及如何在我的应用程序中使用它们?

1 个答案:

答案 0 :(得分:3)

您需要了解[正式] Objective-C协议是什么,包括它定义强制和/或可选方法。请参阅Apple的Objective-C文档。协议是多重继承的有限形式,其中只继承行为,而不是状态。其他语言可能会调用interfacemix-in

符合协议意味着您的类实现所有必需的方法,可能没有,部分或全部可选方法。

通常,协议用于代理。这是一种将类所需的API形式化为其委托的方法。对于给定的委托协议,您需要了解该API。请参阅Apple有关该特定协议的文档。

最后,既没有方法也没有必要声明你的MacRuby类符合任何协议。您可以直接将类实例分配给客户端对象委托。您仍然需要符合协议,但不会进行任何编译时检查。如果符合要求,则可能会出现运行时异常。或者一些奇怪的行为。或者其他什么。

无论如何,这是我的理解。