Xét đoạn mã sau:Làm cách nào để khắc phục cảnh báo nhập kiểu trong câu lệnh 'if let' trong Xcode 8.3?
let nsdate: NSDate? = NSDate()
if let date = nsdate as? Date { // a warning occurs here
print(date)
}
Trình biên dịch phàn nàn như thế này: Conditional downcast from 'NSDate?' to 'Date' is a bridging conversion; did you mean to use 'as'?
Một dàn diễn viên NSData
-Data
có cùng một vấn đề. Làm thế nào để sửa chữa nó?
FYI: Swift 3 trình biên dịch không phàn nàn về code của bạn ;-) Nên là Swift 3.1 ... –
Cảnh báo sẽ xảy ra sau khi cập nhật lên Xcode 8.3.1. Tôi đã thử nó ở sân chơi. –
Tại sao bạn khai báo hằng số ** tùy chọn ** nhưng gán giá trị ** không tùy chọn **. Thật điên rồ. ** Không chú thích các loại trình biên dịch có thể suy luận **. Bạn làm cho nó tồi tệ hơn. – vadian