我得到這個錯誤:斯威夫特:建立一個選擇時不能轉換類型的值<>預期參數類型<>
cannot convert value of type nsdictionary to expected argument type string
let json:NSDictionary = try JSONSerialization.jsonObject(with: dataResponse, options: []) as! NSDictionary
self.performSelector(onMainThread: Selector(updateUIwithJsonResponse), with: json, waitUntilDone: true)
performSelector
調用此函數:
func updateUIwithJsonResponse(json:NSDictionary) {
print(json)
}
你們誰都知道我爲什麼會遇到這個錯誤?
1.你爲什麼要使用'NSDictionary'迅捷的字典呢? 2.爲什麼你使用'performSelector'而不是'DispatchQueue'? – rmaddy
@rmaddy,因爲我不需要隊列。你爲什麼認爲它會更好地使用DispatchQueue? – user2924482
使用'DispatchQueue.main.async'更簡單更清晰。你可以簡單地在塊內寫入實際的代碼。不需要混淆選擇器,它可以處理任何數量和類型的參數。 – rmaddy