[Video Summary] Ch. 4.3 ForEach in SwiftUI (Dungeon Dice app)
Mô tả nhanh
Video này hướng dẫn cách sử dụng ForEach trong SwiftUI để giảm thiểu code lặp đi lặp lại khi tạo các view dựa trên enum và mảng.
Video
Mô tả chi tiết
Video này hướng dẫn cách sử dụng ForEach trong SwiftUI để giảm thiểu code lặp đi lặp lại khi tạo các view dựa trên enum và mảng. Video bắt đầu bằng việc giới thiệu về lỗi "Don't Repeat Yourself" (DRY) trong lập trình, sau đó hướng dẫn từng bước để sử dụng ForEach:
- Tạo mảng String và Text View:
- Tạo một mảng String lưu tên các nhân vật.
- Sử dụng một vòng lặp
forthông thường để tạo ra cácText View. - Xcode sẽ báo lỗi vì không thể sử dụng vòng lặp
fortrực tiếp trongViewBuilder.
- Sử dụng
ForEach:- Thay thế vòng lặp
forbằngForEach. ForEachcần 2 tham số:data(mảng) vàcontent(closure trả về View).ForEachyêu cầudataconformIdentifiableđể xác định cácView. Nhắc đến cú pháp\.self
- Thay thế vòng lặp
- Thử nghiệm với dữ liệu trùng lặp:
- Thêm các phần tử trùng lặp vào mảng và thấy lỗi cảnh báo khi dữ liệu không unique.
- Sử dụng
ForEachvới Enum:- Để sử dụng
ForEachvới enum, enum cần conformCaseIterable. - Sử dụng
dice.allCasesđể lặp qua các case của enum. - Truy xuất
rawValuecủa mỗi case để đưa vào Text View.
- Để sử dụng
- Xây dựng các Button bằng
ForEach- Thay thế các
Text Viewbằng cácButton. - Thay thế các giá trị hardcode bằng giá trị tương ứng của enum.
- Thêm các modifier để các button nhìn đẹp hơn.
- Thay thế các
Video kết luận bằng việc so sánh số lượng code trước và sau khi sử dụng ForEach, giảm từ 34 dòng xuống còn 8 dòng code.
Chúc bạn học tập hiệu quả!