Bevor ich diese Frage gestellt habe, habe ich die verwandten Fragen von Stackoverflow durchsucht und eine ähnliche gefunden: How to convert Any to Int in Swift.Wie konvertiert man Any in Int in Swift?
Meine Forderung ist nicht weniger:
let tResult = result as? [String:AnyObject]
let stateCode = tResult?["result"] as? Int
Mein Bedürfnis ist, wenn die tResult?["result"]
a String
Klasse, ich will es auch zu Int
zu konvertieren sein, anstatt zu nil
.
In objective-c
, schrieb ich ein class method
die Int
umgewandelt zu bekommen:
+ (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;
}
Ist es möglich, ein ähnliches class method
mit swift3 zu schreiben?
Nicht sicher, ob der Compiler diese Zeile schnell kompilieren wird –
@ LucaD'Alberti tatsächlich habe ich die Leistung nicht getestet. Ich hoffe, der Compiler ist schlau genug, um die Zeile schnell genug zu kompilieren :) –