2015-05-27 82 views
0

我有一個沒有任何參數的displayForPhone和displayForPrinter函數。我想從另一個稱爲「display」的函數返回這些函數。我在斯威夫特遊樂場下面的代碼,但它只是說,有一個錯誤,但從來不告訴我什麼錯誤是:在沒有參數的Swift中返回函數類型

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

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

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

    return shouldDisplayForPhone ? displayForPhone : displayForPrinter 
} 
+1

去除多餘的':'和void應該是void – Ian

回答

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() 
+0

謝謝你解決了這個問題!出於某種原因,Swift從來沒有告訴我,我在函數名後面加上「:」。我發現Swift現在處於非常不成熟的狀態。 –

+0

恩,swift是一種新的語言,它會變得更好。BTY,如果它可以幫助你,請接受我的回答 – Leo

+0

是的,我會在1分鐘內接受。 StackOverFlow限制:( –

相關問題