Swift保留函数名称?

时间:2014-06-26 23:40:03

标签: function methods swift reserved

有人可以解释如何调用某些函数吗?当有人像这样创建一个新对象时,会自动调用名为init的函数:var object: type = type(param1)。 我也在NSURLConnection看到了这一点。方法似乎有connectionDidFinishLoading之类的名字,但我不明白,它是否被编码为该名称的快速语言以进行特殊操作?该功能是否会在连接完成后立即运行?就像它甚至知道除非你“向这个功能发送信息”。

1 个答案:

答案 0 :(得分:0)

首先,在Swift中,你不会发送消息"到了对象。函数和方法调用由编译器直接链接在一起。唯一的例外是当你拥有从NSObject继承的对象,因为它仍然在Objective-C运行时运行。

其次,type(param1)init函数的示例。它不是自动"叫它。这就是你定义initializer methods in Swift的方式。您在创建对象时直接调用它。

connectionDidFinishLoading上定义了第三个NSURLConnectionDataDelegate。创建NSURLConnection时,您可以为其提供应该实现此协议的委托。如果您将对象设置为实现协议的委托,则NSURLConnection实例将在适当时调用该方法。这就是Delegate Pattern在UIKit和Cocoa上的作用。