在提出这个问题之前,我搜索了Stackoverflow的相关问题,并发现了类似的一个: 
 How to convert Any to Int in Swift. 
  
 
我的要求不是那么少:
let tResult = result as? [String:AnyObject] let stateCode = tResult?["result"] as? Int
我的需要是,如果tResult?[“result”]是一个String类,我希望它也转换为Int,而不是nil.
在Objective-C中,我写了一个类方法来获取转换后的Int:
+ (NSInteger)getIntegerFromIdValue:(id)value
{
    Nsstring *strValue;
    NSInteger ret = 0;
    if(value != nil){
        strValue = [Nsstring stringWithFormat:@"%@",value];
        if(![strValue isEqualToString:@""] && ![strValue isEqualToString:@"null"]){
            ret = [strValue intValue];
        }
    }
    return ret;
} 
 是否可以使用Swift3编写类似的类方法?
解决方法
 不详详细答案: 
  
  
 
        let key = "result" let stateCode = tResult?[key] as? Int ?? Int(tResult?[key] as? String ?? "")
结果:
let tResult: [String: Any]? = ["result": 123] // stateCode: 123 let tResult: [String: Any]? = ["result": "123"] // stateCode: 123 let tResult: [String: Any]? = ["result": "abc"] // stateCode: nil