Dictionaries

Dictionaries là tập hợp những giá trị tương tự như Arrays, nhưng lại khác với Arrays ở việc bạn có thể thêm phần tử vào mà không cần phải truyền vị trí của phần tử bằng 1 số nguyên.

Hầu hết các phần tử được truyền vào thông qua 1 chuỗi. Ví dụ:

let heights = [ "Long": 162, "Linh": 178, "Nam": 189]

Việc khởi tạo 1 Dictionaries tương tự như khởi tạo 1 Arrays cũng bắt đầu bằng dấu mở ngoặc vuông “[“, kết thúc bằng dấu đóng ngoặc vuông “]” và mỗi phần tử cách biệt nhau bằng dấu phẩy “,”. Tuy nhiên, bạn có thể định danh 1 giá trị của phần tử (162, 178, 189) bằng các chuỗi từ khoá (“Long”, “Linh”, “Nam”)

Và khi truyền những tên định danh đã gán cho giá trị (“Long”, “Linh”, “Nam”) vào Dictionaries heights, bạn sẽ lấy được giá trị của các phần tử (162, 178, 189) trong Dictionaries đó.

heights["Long"] // => 162

Trong trường hợp, bạn truyền vào 1 tên định danh mà không tồn tại trong Dictionaries, giá trị nhận về sẽ là nil(không tồn tại giá trị) và khi bạn gán trị này vào 1 biến không phải là optional, XCode sẽ bắt bạn Force Unwrap giá trị đó, việc này sẽ dẫn đến việc Crash app. Để giải quyết được vấn đề này, chúng ta sẽ trả về một giá trị mặc định nếu giá trị nhận về là nil

heights["Lan", default: 0]

Để tường minh hơn trong việc khai báo 1 Dictionaries, bạn có thể thêm kiểu giá trị cho Dictionaries đó.

// Right
let heights: [String: Int] = [ "Long": 162, "Linh": 178, "Nam": 189]
// Error
let heights: [String: Int] = [ "Long": 162.0, "Linh": 178.0, "Nam": 189]

Leave a reply:

Your email address will not be published.

Site Footer