P和R是泛型類型無法轉換類型'[String:Any]'的值?'到期望的參數類型'_?'
open func route<P,R>(url:URL , param : P?) -> R?{
guard let s = url.scheme ,let h = url.host else{
#if DEBUG
print("url error")
#endif
return nil
}
let urlString = "\(s)://\(h)\(url.path)"
guard let t = self.urlTaskMap[urlString] as? RoyTaskClosure<P,R> else {
print("closure unmatched,url -> \(urlString)")
return nil
}
let returnValue = t(param)
return returnValue
}
當我調用該函數像
public func viewController(url:URL,param:[String:Any]?) -> RoyProtocol?{
if let vc = self.route(url: url, param: param){
return vc
}
return nil
}
Xcode的告訴我一個錯誤信息
Cannot convert value of type '[String:Any]?' to expected argument type '_?'
神!有人可以告訴我如何解決它?
請在適當代碼格式化你的問題的代碼,不包括它的屏幕截圖。 –
請將代碼粘貼爲文字而不是使用圖片。爲什麼人們這樣做呢? *如何更容易製作屏幕截圖,裁剪和上傳,而不僅僅是Ctrl + C,Ctrl + V文本? –
屏幕截圖中的類型P是什麼? –