Function Swift保留函数名?
有人能解释一下某些函数是如何被调用的吗?当有人创建一个新对象时,是否会自动调用名为init的函数:Function Swift保留函数名?,function,methods,swift,reserved,Function,Methods,Swift,Reserved,有人能解释一下某些函数是如何被调用的吗?当有人创建一个新对象时,是否会自动调用名为init的函数:var-object:type=type(param1)。 我在NSURLConnection中也看到了这一点。方法似乎有一些名称,如connectiondFinishLoading或其他什么,但我不明白,该名称是否被编码到swift语言中以进行特殊操作?连接一结束,该功能就可以运行吗?比如,除非您向该函数“发送消息”,否则它怎么知道呢。好的,首先,在Swift中,您不再向对象“发送消息”。函数和方
var-object:type=type(param1)
。
我在
NSURLConnection
中也看到了这一点。方法似乎有一些名称,如connectiondFinishLoading
或其他什么,但我不明白,该名称是否被编码到swift语言中以进行特殊操作?连接一结束,该功能就可以运行吗?比如,除非您向该函数“发送消息”,否则它怎么知道呢。好的,首先,在Swift中,您不再向对象“发送消息”。函数和方法调用由编译器直接链接在一起。唯一的例外是当您拥有从NSObject
继承的对象时,因为它仍然在Objective-C运行时上运行
其次,type(param1)
是init
函数的一个示例。它不是“自动”调用它。这就是你的定义。创建对象时直接调用它
第三个connectiondFinishLoading
是在NSURLConnectionDataDelegate
上定义的。当您创建一个NSURLConnection
时,您可以给它一个应该实现此协议的委托。如果将对象设置为实现协议的委托,则NSURLConnection
实例将在适当时调用该方法。这就是整个UIKit和Cocoa的工作原理