Tôi muốn có thể sửa đổi mảng đối tượng của mình bằng cách sử dụng map
trong Swift khi đang bay mà không lặp qua từng phần tử.Bản đồ sửa đổi mảng đối tượng trong Swift 2.2 (3.0)
Trước đây đã có thể làm một cái gì đó như thế này (mô tả chi tiết hơn here:
gnomes = gnomes.map { (var gnome: Gnome) -> Gnome in
gnome.age = 140
return gnome
}
Cám ơn Erica Sadun và những người khác, đề xuất mới đã trải qua và chúng tôi bây giờ nhận được thoát khỏi C-style vòng và sử dụng var
bên trong vòng lặp.
trong trường hợp của tôi, tôi đang xin giấy chứng nhận cảnh báo để loại bỏ các var
trong đó một lỗi gnome
tôi là một hằng số (tự nhiên)
Câu hỏi của tôi là: Làm thế nào để chúng ta thay đổi mảng bên trong một map
hoặc các vòng theo kiểu mới cho vấn đề đó được chuẩn bị đầy đủ cho Swift 3.0?
trả về lỗi '' $ 0 là không thay đổi''. Đó là lỗi của tôi.Tôi nên có chính xác hơn: (Tôi đang sử dụng cấu trúc thay vì các lớp học, tôi đặt cược rằng những gì làm cho họ bất biến theo mặc định – kernelpanic
@ kernelpanic Vì bạn đã không cho chúng tôi thấy bạn 'Gnome' lớp học, tôi đã bao gồm một trong của riêng tôi Bạn có chắc chắn thuộc tính 'age' của lớp của bạn là một cái có thể thay đổi được (cũng như mảng gnomes của bạn)? Các công trình trên tốt cho tôi trên Swift 2.2 và Xcode 7.3. – dfri
@dfri Tôi nghi ngờ rằng' Gnome' là một struct – vadian