Điều này có thể đã làm việc trước đó, nhưng nó không phải là câu trả lời cho Swift 3. Chỉ cần làm rõ, tôi không có câu trả lời cho Swift 3, dưới đây là thử nghiệm của tôi bằng cách sử dụng câu trả lời ở trên, và rõ ràng nó không hoạt động.
Dữ liệu của tôi xuất phát từ một NSDictionary
print("subvalue[multi] = \(subvalue["multi"]!)")
print("as Int = \(subvalue["multi"]! as? Int)")
if let multiString = subvalue["multi"] as? String {
print("as String = \(multiString)")
print("as Int = \(Int(multiString)!)")
}
Kết quả tạo ra là:
subvalue[multi] = 1
as Int = nil
Chỉ cần đánh vần nó ra:
a) Giá trị ban đầu là loại Bất kỳ? và giá trị là: 1
b) đúc để int kết quả trong nil
c) Đúc kết quả String trong nil (các dòng in không bao giờ thực hiện)
EDIT
Câu trả lời là sử dụng NSNumber
cho num = subvalue ["multi"] thành? NSNumber
Sau đó, chúng ta có thể chuyển đổi số thành một số nguyên
let Myint = num.intValue
Nguồn
2017-05-31 14:04:44
đôi khi nó trả về nil.Tôi đã sử dụng phương pháp này để phân tích cú pháp từ 'WKBridge' –