Przed zadaniem tego pytania przeszukałem powiązane pytania dotyczące Stackoverflow i znalazłem podobny: How to convert Any to Int in Swift.Jak przekonwertować Any do Int w Swift?
Moje wymogiem jest to, że nie mniej:
let tResult = result as? [String:AnyObject]
let stateCode = tResult?["result"] as? Int
Moja potrzeba jeśli tResult?["result"]
jest klasą String
, chcę go mieć konwertować do Int
też, zamiast nil
.
W objective-c
napisałem class method
uzyskać konwertowane 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;
}
Czy to możliwe, aby napisać podobną class method
użyciu Swift3?
Nie jestem pewien, czy kompilator skompiluje tę linię szybko, –
@ LucaD'Alberti, nie przetestowałem wydajności. Mam nadzieję, że kompilator jest wystarczająco inteligentny, aby skompilować linię wystarczająco szybko :) –