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是什么? –