Enumerations

Enumerations (Thường được gọi là Enums) là cách định nghĩa 1 nhóm giá trị và có thể sử dụng chúng 1 cách dễ dàng.

Ví dụ: Nếu như bạn muốn tạo 1 số biến để thể hiện HTTPMethod(get, post, put, delete…) để request đến API, bạn có thể khai báo 1 số biến kiểu String:

let options         = "OPTIONS"
let getMethod       = "GET"
let head            = "HEAD"
let post            = "POST"
let put             = "PUT"
let patch           = "PATCH"
let delete          = "DELETE"
let trace           = "TRACE"
let connect         = "CONNECT"

Điều gì sẽ xảy ra, khi ai đó vô tình gặp phải lỗi chính tả hoặc thiếu từ?

let optionsMethod   =   "option"
let deleteMethod    =   "detele"

=> ý nghĩa mang lại sẽ khác.

Với enums, bạn có thể định nghĩa ra kiểu HTTPMethod, bao gồm tất cả các biến ở trên.

enum HTTPMethod: String {
    case options = "OPTIONS"
    case get     = "GET"
    case head    = "HEAD"
    case post    = "POST"
    case put     = "PUT"
    case patch   = "PATCH"
    case delete  = "DELETE"
    case trace   = "TRACE"
    case connect = "CONNECT"
}

Và bây giờ, khi request đến API, bạn có thể sử dụng HTTPMethod, và phải sử dụng 1 trong các case của HTTPMethod mà không cần quan tâm giá trị gán vào có mắc lỗi chính tả hay thiếu từ hay không.

let getMethod = HTTPMethod.get
let putMethod = HTTPMethod.put

Ngoài ra, bạn có thể tạo enums với giá trị bổ sung. Ví dụ: Bạn muốn tạo 1 nhóm giá trị các hoạt động, và trong số các hoạt động đó phải có mục tiêu rõ ràng (Chạy đến Chợ Bến Thành, hát bài Way Back Home)

enum Activity {
    case bored
    case running(destination: String)
    case talking(topic: String)
    case singing(song: String)
}

let running = Activity.running(destination: "Chợ Bến Thành")
let singing = Activity.singing(song: "Way Back Home")

 

Leave a reply:

Your email address will not be published.

Site Footer