Tôi có một biến trên lớp của tôi:"bộ sưu tập rỗng đen đòi hỏi một kiểu tường minh" lỗi trên Swift3
var list = []
và tôi sử dụng nó trên một chức năng của lớp học của tôi:
func chargeData (data: NSArray){
list = data
}
Nó làm việc cũng về dự án của tôi trong Swift 2.3
nhưng khi tôi đã cập nhật nó để XCode8
và Swift3
nó mang lại cho tôi những lỗi sau:
Empty collection literal requires an explicit type
vì vậy tôi đã thêm một thợ đúc chư vào danh sách biến tôi:
var list = [] as! NSArray
nhưng nó mang lại cho tôi những cảnh báo sau đây:
Forced cast of 'NSArray' to same type has no effect
Tôi biết rằng một cảnh báo không phá vỡ ứng dụng nhưng tôi sẽ muốn giải quyết lỗi này theo cách thích hợp.
Có ai đó có cùng lỗi và giải quyết đúng không?
Cảm ơn trước!
Bạn sẽ phải thực hiện 'var list: NSArray = []'. Không sao nếu bạn chỉ thay thế bằng một cái khác. Nhưng nó không phải là * mutable * chính nó, do đó, 'var danh sách: NSMutableArray = []' sẽ là tốt hơn tôi giả sử. – Moritz
@EricAya Bạn thực sự muốn nói gì với thực tế là bản thân nó không thể thay đổi được? Tôi biết rằng mutable có nghĩa là nó có thể thay đổi giá trị của nó nhưng tôi không thực sự chắc chắn những gì bạn có nghĩa là với "mutable chính nó". –
CodeDifferent giải thích nó trong câu trả lời của họ. var/let và NSArray/NSMutableArray. – Moritz