Swift更新问题:无法转换类型为';(参数:[AnyHashable:Any]!)->;布尔';
我接管了Swift 2源代码,需要一些更新。到目前为止,在我去Swift 4的路上,我成功地解决了90%的构建错误和警告。但这一直困扰着我,我没有找到解决办法。这里正确的语法是什么 JLRoute呼叫到Swift更新问题:无法转换类型为';(参数:[AnyHashable:Any]!)->;布尔';,swift,dictionary,Swift,Dictionary,我接管了Swift 2源代码,需要一些更新。到目前为止,在我去Swift 4的路上,我成功地解决了90%的构建错误和警告。但这一直困扰着我,我没有找到解决办法。这里正确的语法是什么 JLRoute呼叫到 JLRoutes.addRoute(“登录”,处理程序:{(参数:[AnyHashable:Any]!)->Bool-in 导致 无法将类型为“(参数:[AnyHashable:Any]!)->Bool”的值转换为预期的参数类型(([String:Any])->Bool)“ 完整背景: J
JLRoutes.addRoute(“登录”,处理程序:{(参数:[AnyHashable:Any]!)->Bool-in
导致
无法将类型为“(参数:[AnyHashable:Any]!)->Bool”的值转换为预期的参数类型(([String:Any])->Bool)“
完整背景:
JLRoutes.addRoute("login", handler: { (parameters: [AnyHashable: Any]!) -> Bool in
let params = parameters as Dictionary<String, AnyObject>
let authCode:String! = params["authkey"] as String
if authCode != nil {
[...]
}
}
.responseString { (request, response, string, error) in
println(string)
}
return true
} else {
self.authError()
return false
}
})
return true
}
JLRoutes.addRoute(“登录”,处理程序:{(参数:[AnyHashable:Any]!)->Bool-in
设params=作为字典的参数
让authCode:String!=params[“authkey”]作为字符串
如果authCode!=nil{
[...]
}
}
.responseString{(请求、响应、字符串、错误)在
println(字符串)
}
返回真值
}否则{
self.authError()
返回错误
}
})
返回真值
}
谢谢你的帮助!试着用string替换第1行中的“AnyHashable”你真的试过按照错误消息告诉你的做了吗?它确切地告诉你该函数的新签名是什么,所以如果你进行了更正,你的代码应该可以编译。哈哈……这是一个漫长的夜晚……我一直在摆弄
->Bool
部分