Прежде чем задавать этот вопрос, я искал связанные с Stackoverflow вопросы и нашел аналогичный: Как преобразовать Any в Int в Swift.
Мое требование не меньше:
let tResult = result as? [String:AnyObject]
let stateCode = tResult?["result"] as? Int
Мне нужно, чтобы tResult?["result"] был классом String, я также хочу, чтобы он был преобразован в Int, а не в nil.
В objective-c я написал class method, чтобы получить преобразованный 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;
}
Можно ли написать аналогичный class method с помощью Swift3?