Objective c Swift中的方法名称

Objective c Swift中的方法名称,objective-c,swift,methods,Objective C,Swift,Methods,在Objective-C中,我们有方法名称,如应用程序:didfishlaunchingwithoptions:,但在Swift中,相同作业的方法看起来不同 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization afte

在Objective-C中,我们有方法名称,如
应用程序:didfishlaunchingwithoptions:
,但在Swift中,相同作业的方法看起来不同

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    return true
}
这个方法的名称是不是简单的
application
,因为其他的都是参数?或者它的名称是
application didFinishLaunchingWithOptions
,名称中有空格?
我在苹果的文档中寻找一个官方的答案,但我找不到

文档中的名称是什么意思?这是一个
应用程序(uquot:didfishlaunchingwithoptions:)
我无法想象您需要手动调用它的情况,但以防万一:

    application(app, didFinishLaunchingWithOptions:aDictionary) 

该方法确实“只是”
应用程序

例如,如果您有一个
tableview
,几乎所有函数都以
tableview

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {}

参数“定义”函数而不是方法。

两种语言中的命名完全相同


如果您想要一个很好的证明,请尝试在选择器中使用任何其他命名。

该方法确实被称为
应用程序
,但是
didFinishLaunchingWithOptions
是一个外部参数名,并且:

如果为参数提供外部参数名称,则调用函数时必须始终使用该外部名称

由于可以有两个名为
application
的函数具有不同的外部参数名称,因此在引用函数时,我们始终必须指定外部参数。因此,函数/方法的全称为

application(_:didFinishLaunchingWithOptions:)
你是对的,关于Swift函数还没有任何约定。现在引用函数最安全的方法是使用Obj-C约定

application:didFinishLaunchingWithOptions:
它仍然在所有苹果文档链接中使用


这个惯例在整个苹果文档中都使用。

使用
“应用程序:
这是最好的答案,涵盖了所有关注点和有趣的点(文档通过Objective-C版本明确提及的除外):(文档顶部有一个小框,可以选择“Objective-C”、“Swift”或“两者”.如果你把它放在Swift上,Swift的风格会像这样出现。虽然这个答案很有道理,但它肯定能更好地解释它的观点。