Swift中的返回函数类型,没有参数

时间:2015-05-27 01:15:00

标签: ios swift

我有一个displayForPhone和displayForPrinter函数,它没有任何参数。我想从另一个名为“display”的函数返回这些函数。我在Swift Playground中有以下代码,但它只是说有错误但从未告诉我错误是什么:

func displayForPrinter() {
    println("Displaying for printer")
}

func displayForPhone() {
    println("Displaying for phone")
}

func display:(shouldDisplayForPhone :Bool)  -> (void) -> (void) {

    return shouldDisplayForPhone ? displayForPhone : displayForPrinter
}

1 个答案:

答案 0 :(得分:5)

将你的代码改为此

func displayForPrinter() {
    println("Displaying for printer")
}

func displayForPhone() {
    println("Displaying for phone")
}

func display(shouldDisplayForPhone :Bool)  -> (Void) -> (Void) {
    return shouldDisplayForPhone ? displayForPhone : displayForPrinter
}
//test
let function = display(true)
function()