【问题标题】:swift optional parameter function [duplicate]swift可选参数函数[重复]
【发布时间】:2015-10-12 08:14:47
【问题描述】:

在swift中,如何定义一个带有可选参数的函数谁是函数? 例如,我有这样的功能: func 测试(处理程序:Int -> Void) 我希望参数处理程序是可选的,实际上,这意味着处理程序参数类型应该是可选函数,那该怎么办?

【问题讨论】:

    标签: swift optional-parameters


    【解决方案1】:

    真的就像任何其他类型一样。所以对于非可选的:

    func test(handler: (Int) -> (Void))
    

    可选版本将变为:

    func test(handler: ((Int) -> (Void))?)
    

    另一种思考方式是,如果我们要为处理程序创建一个typealias,它将类似于:

    typealias handlerCallback = (Int) -> (Void)
    
    func test(handler: handlerCallback)  // The non-optional version
    func test(handler: handlerCallback?) // The optional version
    

    我希望这是有道理的

    【讨论】:

    • 似乎在 Swift 3.1 中被破坏了
    • @StevenKramer 已编辑。谢谢你:)
    猜你喜欢
    • 2023-04-07
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    相关资源
    最近更新 更多