Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift更新问题:无法转换类型为';(参数:[AnyHashable:Any]!)->;布尔';_Swift_Dictionary - Fatal编程技术网

Swift更新问题:无法转换类型为';(参数:[AnyHashable:Any]!)->;布尔';

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

我接管了Swift 2源代码,需要一些更新。到目前为止,在我去Swift 4的路上,我成功地解决了90%的构建错误和警告。但这一直困扰着我,我没有找到解决办法。这里正确的语法是什么

JLRoute呼叫到
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
部分