在問這個問題之前,我搜索了Stackoverflow的相關問題,並找到了類似的問題:How to convert Any to Int in Swift。如何在Swift中將Any轉換爲Int?
我的要求是不是少:
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;
}
是否有可能使用Swift3寫一個類似class method
?
不知道編譯器是否會快速編譯該行 –
@ LucaD'Alberti確實,我沒有測試性能。我希望編譯器足夠聰明,足以快速編譯該行:) –