2017-08-30 101 views
1

我有四個功能,我想隨機激活。這是迄今爲止的代碼,我從中得到了任何錯誤。但是,當我嘗試調用createSquare()函數時,出現「Expression解析爲未使用的函數」錯誤。Swift:如何調用調用隨機函數的函數?

func createSquare() ->() ->() { 
    let squares = [self.squareOne, self.squareTwo, self.squareThree, self.squareFour] 

    let randomSquare = Int(arc4random_uniform(UInt32(squares.count))) 

    return squares[randomSquare] 

} 
if gameIsOn == true { 
    createSquare() 
} 

如何成功調用函數createSquare()?

func squareOne() { 
    square1.isHidden = false 
} 

和squareTwo,squareThree,squareFour都是相似的不同的數字。

+0

顯示'波帕代碼' – paper1111

+1

createSquare()() –

+0

'squareTwo','squareThree'和'squareFour'如何?點擊編輯按鈕,將它們添加到問題中 – paper1111

回答

2

問題是,createSquare()返回一個永遠不會調用的閉包(這是警告消息中提到的「未使用函數」)。

你需要調用的函數,例如,像這樣:

let randomFunction = createSquare() 
randomFunction() 

你也可以把它用稍差可讀的語法馬上:

createSquare()()