如何在Swift3中将Any转换为Dictionary

Gho*_*ock 5 ios swift3

我使用Alamofire网络请求,想要处理错误信息,

我的代码:

class NetWorkingEngine: NSObject {
    typealias CreateNetWorkBlockSuccess = (_ responseobject:Any) -> ();
    typealias CreateNetWorkBlockFail = (_ responseobject:NSDictionary) -> ();

    func getDataFun(URL:String,netWorkingBlockSuccess:@escaping CreateNetWorkBlockSuccess,netWorkingBlockField:@escaping CreateNetWorkBlockField) -> Void {
        Alamofire.request(URL).responseJSON { (responseObject) in
            if responseObject.result.isSuccess {
                netWorkingBlockSuccess(responseObject.data!);
            }else{
                netWorkingBlockFail(responseObject.result);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是排队

netWorkingBlockFail(responseObject.result)

错误

cannot convert value of type “Result<Any>” to expected argument type "NSDictionary"

我该怎么办?

更新: I want to resquert Error Info, if you error request,Error info is 'Any',But how to 'Error info' convert Dictionary?

小智 5

您可以使用[:]类型将任何类型转换为字典.假设您有一个名为personAny 的变量; 然后使用以下代码:

let personDictionary = (person as! [String:String])["name"]
Run Code Online (Sandbox Code Playgroud)

...... name字典中的关键字在哪里.