2017-02-11 17 views
-4

這裏是一個函數:斯威夫特:問題與閉合參數

func foo(completion: (jsonData: String) ->()) { }

在斯威夫特3,你不能有參數標籤。因此,這是代碼:

func foo(completion: (String) ->()) { }

這樣做的問題是,當我調用這個函數,它看起來像這樣:

foo(completion: { _ in })

所以,如果我想看值爲jsonData,我不能,因爲它是一個下劃線。我將如何解決這個問題?

+2

通過不將下劃線那裏,但是你可以用一個實際的變量名。 – luk2302

回答

1

它的工作:

func foo(completion: (String) ->()) { 
    completion("Hi") 
} 

foo { jsonData in 
    print(jsonData) // Output: Hi 
}