objective-c - Swift 中的方法名称

标签 objective-c swift methods

在 Objective-C 中,我们有类似 application:didFinishLaunchingWithOptions: 的方法名称,但在 Swift 中,相同作业的方法看起来不同。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    return true
}

此方法的名称是否只是 application 因为其他所有内容都只是参数?还是名称中带有空格的 application didFinishLaunchingWithOptions? 我在 Apple 文档中寻找官方答案,但找不到。

最佳答案

该方法确实称为 application,但是 didFinishLaunchingWithOptions 是一个外部参数名称,并且:

If you provide an external parameter name for a parameter, that external name must always be used when you call the function.

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

application(_:didFinishLaunchingWithOptions:)

你说得对,目前还没有任何约定来引用 Swift 函数。现在引用函数最安全的方法是使用 Obj-C 约定。

application:didFinishLaunchingWithOptions:

仍然在所有 Apple 文档链接中使用。

整个 Apple 文档都使用此约定。

关于objective-c - Swift 中的方法名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29455385/

相关文章:

ios - 如何绘制红色的 UIImageView 框架

objective-c - iOS - 加速度计的高通滤波器方程

objective-c - Cocoa:为什么在方法调用之前设置 'nil'?

python - Python中私有(private)和 protected 方法的继承

objective-c - NSWindow 内的对象如何在只有弱导出的情况下持续存在?

objective-c - 加载屏幕上的可点击广告横幅是 ios 应用程序

ios - TableView 中的多个 RowType - watchKit

iOS UISwitch "animated: Bool"不工作

swift - 专门化一个协议(protocol),其中 Self 是一个通用类

ios - 对象未实现方法