Tôi muốn thay thế các hằng số chuỗi toàn cục bằng một enum lồng nhau cho các khóa mà tôi đang sử dụng để truy cập các cột trong cơ sở dữ liệu.Giá trị chuỗi truy cập trong enum mà không sử dụng rawValue
Cấu trúc như sau:
enum DatabaseKeys {
enum User: String {
case Table = "User"
case Username = "username"
...
}
...
}
Mỗi bảng trong cơ sở dữ liệu là một enum bên trong, với tên của bảng là tiêu đề của enum. Trường hợp đầu tiên trong mỗi enum sẽ là tên của bảng, và các trường hợp sau là các cột trong bảng của nó.
Để sử dụng, nó khá đơn giản:
myUser[DatabaseKeys.User.Username.rawValue] = "Johnny"
Nhưng tôi sẽ sử dụng những enums rất nhiều. Phải nối thêm .rawValue
vào mọi trường hợp sẽ là một nỗi đau và không thể đọc được như tôi muốn. Làm thế nào tôi có thể truy cập vào giá trị chuỗi mà không cần phải sử dụng rawValue
? Nó sẽ thật tuyệt nếu tôi có thể làm điều này:
myUser[DatabaseKeys.User.Username] = "Johnny"
Lưu ý rằng tôi đang sử dụng Swift 2. Nếu có một cách tốt hơn để thực hiện điều này tôi muốn nghe nó!
Những loại đối tượng là '' 'myUser'''? Một từ điển hoặc đối tượng của riêng bạn với một subscript? –
@AndyIbanez Nó có thể là một từ điển đơn giản, hoặc một PFUser trong trường hợp của tôi khi tôi đang sử dụng Parse – Joey