/ / Lập trình ios / Comment (0)

Collection Types – Từ điển (Dictionary) trong Swift

Bài trước mình đã giới thiệu với các bạn về mảng (Array) trong Swift.Trong bài này mình sẽ giới thiệu cho các bạn về từ điển(Dictionary) trong ngôn ngữ này.Ngoài việc sử dụng mảng để lưu trữ tập hợp các giá trị thì người ta còn sử dụng rất nhiều Từ điển (Dictionary).Tùy vào từng yêu cầu và tình huống mà chúng ta sẽ lựa chọn sử dụng mảng hay từ điển một cách thuận tiện nhất.

Collection Types

Collection Types – Từ điển (Dictionary) trong Swift

Collection Types – Từ điển (Dictionary) trong Swift

– Cũng giống như mảng nhưng từ điển chúng ta có thể tuỳ chỉnh gắn giá trị cho khoá(key) của từ điển thay vì các vị trí tuần tự như trong mảng,lưu ý là các key trong từ điển này phải duy nhất không được trùng nhau.Đây chính là điểm linh hoạt có trong từ điển mà trong mảng không có.Đối với ngôn ngữ lập trình PHP thì mảng trong ngôn ngữ PHP như được tổng hợp từ mảng và từ điển trong lập trình Swift.
– Trong từ điển chúng ta cũng có nhiều cách khai báo,cú pháp đầy đủ để khai báo 1 từ điên đó là Dictionary<Key, Value>, trong đó key là kiểu dữ liệu của khoá,còn value là kiểu dữ liệu của giá trị,ngoài ra bạn cũng có thể khai báo tắt ở dạng [key: value] hoặc gắn giá trị trực tiếp theo cặp key:value cho từ điển đó,ví dụ

var dict1: Dictionary<String,String> = ["name": "Nobitacnt", "age": "25", "city":"Hải Phòng"]
var dict2: [String:String] = ["name": "Nobitacnt", "age": "25", "city":"Hải Phòng"]
var dict3  = ["name": "Nobitacnt", "age": "25", "city":"Hải Phòng"]

– Với cả 3 cách khai báo trên chúng ta đều có thể khai báo được 1 từ điển với các cặp key:value,nếu bạn chưa khai báo kiểu dữ liệu cho khoá và dữ liệu thì trình biên dịch sẽ tự động gắn kiểu cho nó.

Duyệt các phần tử trong từ điển

– Để lấy 1 phần tử trong từ điển ta có thể truy cập trực tiếp vào khoá của phần tử đó,ví dụ:

var dict1  = ["name": "Nobitacnt", "age": "25", "city":"Hải Phòng"]
println(dict1["name"]) 
//kết quả là Nobitacnt,đây là kết quả dạng optional và mình sẽ có bài nói rõ về phần này.

– Để duyệt các phần tử trong từ điển ta cũng sẽ sử dụng vòng lặp For,ví dụ:

var dict1  = ["name": "Nobitacnt", "age": "25", "city":"Hải Phòng"]
for (key,value) in dict1{
 println("Khoá \(key) có giá trị là: \(value)")
}

Các hàm hay sử dụng trong từ điển

– Cũng giống như mảng khi chúng ta muốn đếm số phần tử có trong từ điển cũng sẽ sử dụng hàm count,ví dụ:

var dict1  = ["name": "Nobitacnt", "age": "25", "city":"Hải Phòng"]
println("Từ điển có \(dict1.count) phần tử.")
//kết quả là: Từ điển có 3 phần tử.

– Kiểm tra từ điển có rỗng hay không ngoài việc sử dụng hàm count ta có thể sử dụng hàm isEmpty,ví dụ:

var dict1  = ["name": "Nobitacnt", "age": "25", "city":"Hải Phòng"]
if dict1.isEmpty {
println("Từ điển này không có phần tử nào")
}else{
println("Từ điển này có phần tử")
}

– Để chỉnh sửa giá trị cho 1 khóa nào để chúng ta có thể truy cập trực tiếp vào khóa đó để thay đổi,ví dụ:

var dict1  = ["name": "Nobitacnt", "age": "25", "city":"Hải Phòng"]
dict1["name"] = "Xuka"
}

– Ngoài cách trên chúng ta có thể sử dụng phương thức updateValue (forKey: ),phương thức trả về một giá trị kiểu String ?, hay “optional String”. Giá trị optional này có chứa các giá trị cũ cho khóa đó nếu tồn tại trước khi cập nhật, hoặc nil nếu không có giá trị tồn tại,ví dụ:

var dict1  = ["name": "Nobitacnt", "age": "25", "city":"Hải Phòng"]
if let oldName = dict1.updateValue("Xuka", forKey: "name") {
    println("Tên cũ là \(oldName).")
}

– Để loại bỏ phần tử nào đó trong từ điển chúng ta có thể sử dụng phương thức removeValueForKey.Phương thức này loại bỏ cặp khóa-giá trị nếu nó tồn tại và trả về giá trị loại bỏ, hoặc trả về con nil nếu không có giá trị tồn tại,ví dụ:

var dict1  = ["name": "Nobitacnt", "age": "25", "city":"Hải Phòng"]
if let removedValue = dict1.removeValueForKey("name") {
    println("Bạn vừa xóa tên \(removedValue).")
} else {
    println("Không tồn tại")
}

– Trong một số trường hợp bạn chỉ cần sử dụng các khóa (key) trong từ điển chúng ta có thể sử dụng phương thức keys,ví dụ:

var dict1  = ["name": "Nobitacnt", "age": "25", "city":"Hải Phòng"]
let dictKey = [String](dict1.keys)
//kết quả dictKey = ["name", "age", "city"]

– Ngoài ra một số trường hợp bạn chỉ cần sử dụng các giá trị (value) trong từ điển chúng ta có thể sử dụng phương thức values,ví dụ:

var dict1  = ["name": "Nobitacnt", "age": "25", "city":"Hải Phòng"]
let dictValue = [String](dict1.values)
//kết quả dictKey = ["Nobitacnt", "25", "Hải Phòng"]

Tổng kết: Qua bài này mình đã giới thiệu cho các bạn về từ điển trong lập trình Swift,đây là phần rất quan trọng và được sử dụng khá nhiều khi lập trình.Ngoài ra các bạn có thể tham khảo thêm tại đây



04/07/2015
Tags:
Written by nobitacnt

Trong bài viết không tránh khỏi những câu từ chưa chính xác,mong nhận được sự góp ý để website hoàn thiện hơn.Nếu thấy bài viết có ích với bạn hãy like và share để ủng hộ nhé :D.

Bài viết chùng chuyên mục

Gửi bình luận

Giới thiệu

Mình tạo ra blog này với mong muốn chia sẻ và học hỏi kinh nghiệm trong quá trình thiết kế website. Website đang trong quá trình phát triển chân thành cảm ơn mọi sự góp ý của các bạn để làm cho website ngày càng hoàn thiên.

DMCA.com Protection Status
Theo dõi qua Email

Tổng hợp các bài viết về

Hoc php - CodeIgniter Framework - Laravel Framework - PHP va MYSQL