Trước khi đặt câu hỏi này, tôi đã tìm kiếm các câu hỏi liên quan đến Stackoverflow và tìm một câu hỏi tương tự: How to convert Any to Int in Swift.Làm thế nào để chuyển đổi Bất kỳ thành Int nhanh chóng?
Yêu cầu của tôi không phải là ít:
let tResult = result as? [String:AnyObject]
let stateCode = tResult?["result"] as? Int
nhu cầu của tôi là nếu tResult?["result"]
là một lớp String
, tôi muốn nó được chuyển đổi sang Int
quá, chứ không phải để nil
.
Trong objective-c
, tôi đã viết một class method
để có được chuyển đổi 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;
}
Có thể viết thư tương tự class method
sử dụng Swift3?
Không chắc chắn nếu trình biên dịch sẽ biên dịch dòng đó nhanh chóng –
@ LucaD'Alberti thực sự, tôi đã không kiểm tra hiệu suất. Tôi hy vọng trình biên dịch đủ thông minh để biên dịch dòng đủ nhanh :) –