2016-11-14 27 views
0
func taskWithMethod(URLString: String, parameters: [String: AnyObject]?, queryParameters: [String: AnyObject]? = nil){} 

是什麼在這個函數parametersqueryParameters之間的差額等於零?看起來像queryParameters被定義爲零,但我仍然可以將queryParameters值傳遞給此函數。聲明函數的輸入參數是斯威夫特

+0

'queryParameters'不是「被定義爲'nil'」,而是「如果你不提供它,將默認爲'nil'」。關於'taskWithMethod'如何使用這兩個字典,您必須參考該方法的文檔和/或實現。 – Rob

回答

2

這是Default Parameter Value (see section "Default Parameter Values")。如果沒有值傳入,則默認爲nil

例如,該功能可以被稱爲像這樣:

taskWithMethod(URLString: someString, parameters: dict1, queryParameters: dict2) 

,但它也可被稱爲像這樣:

taskWithMethod(URLString: someString, parameters: dict1) 

在這種情況下queryParameters被設置爲它的默認值,nil