Swift何时需要参数标签?

在回答这个问题时,谈到要调用时需要参数标签init。这在Swift中很正常。

class Foo {

init(one: Int, two: String) { }

}

let foo = Foo(42, "Hello world") // Missing argument labels 'one:two:' in call

但是,陌生力量在起作用:

extension Foo {

func run(one: String, two: [Int]) { }

}

foo.run(one: "Goodbye", two: []) // Extraneous argument label 'one:' in call

要在此处使用参数标签,必须明确声明。

在文档中,我还没有看到非常详尽的解释。哪些种类的类/实例/全局函数需要自变量标签?是否始终使用参数标签导出和导入Obj-C方法?

回答:

从Swift 3.0开始,这种情况再次发生了变化:除非您使用外部名称明确选择退出,否则所有方法,函数和初始化器都需要为

参数使用参数标签_。这意味着addChildViewController(_:)现在这样的方法是这样写的:

func addChildViewController(_ childController: UIViewController)

这是作为Swift Evolution流程的一部分提出和批准的,并已在SR-961中实施。

以上是 Swift何时需要参数标签? 的全部内容, 来源链接: utcz.com/qa/403987.html

回到顶部