Tôi muốn sử dụng các giá trị từ một từ điển trong UITableViewCells của mình. Tôi có thể lấy chúng từ một từ điển bằng cách sử dụng indexPath.row cho giá trị và indexPath.section cho khóa không?Swift: truy cập từ điển qua chỉ số
Trả lời
bạn có thể nhận mảng phím và lấy chìa khóa tại indexPath.section
như thế này:
Array(yourDictionary.keys)[indexPath.section]
và bạn có thể nhận được giá trị tại indexPath.row
từ mảng các giá trị như thế này:
Array(yourDictionary.values)[indexPath.row]
Chỉnh sửa:
nếu bạn muốn nhận các giá trị của khóa phần cụ thể mà bạn nên viết:
let key = Array(yourDictionary.keys)[indexPath.section]
let array = yourDictionary[key]
let value = array[indexPath.row]
Từ điển vốn không có thứ tự. Nếu bạn sử dụng dictionary.keys, bạn có thể nhận được một mảng các khóa và sử dụng khóa đó, như @Firas nói trong câu trả lời của mình, nhưng không có gì đảm bảo rằng lần tiếp theo bạn tìm nạp một dãy các khóa, chúng sẽ theo cùng một thứ tự.
Một tùy chọn khác sẽ là sử dụng Int làm loại khóa, sau đó sử dụng indexPath.row làm khóa.
Thực sự tốt hơn khi sử dụng mảng làm nguồn dữ liệu cho chế độ xem bảng.
Nếu bạn muốn lưu trữ các giá trị cho dạng xem bảng được phân đoạn trong từ điển, bạn nên sử dụng mảng phần ngoài, chứa mảng hàng bên trong, chứa từ điển giá trị cho ô.
Đây là mẹo nhỏ của tôi để truy cập Từ điển theo chỉ mục. Chỉ cần bọc từ điển!
var dict = [String: [Int]]()
dict.updateValue([1, 2, 3], forKey: "firstKey")
dict.updateValue([3, 4, 5], forKey: "secondKey")
var keyIndex = ["firstKey": "firstKey", "secondKey": "secondKey"]
var arr = [[String: [Int]]]()
for (key, value) in dict {
arr.append([keyIndex[key]!: value])
}
print(arr[0]) // ["firstKey": [1, 2, 3]]
- 1. Swift: Lấy Số Khóa Trong Từ điển
- 2. lặp qua một từ điển trong Swift
- 3. Swift - Lỗi Truy cập dữ liệu từ điển với Array của Từ điển
- 4. Truy cập Khóa từ điển.Keys thông qua chỉ số bằng số
- 5. Làm cho truy cập từ điển chỉ an toàn?
- 6. việc truy cập từ điển python
- 7. Swift: lọc từ điển
- 8. Truy cập từ điển theo khóa trong mẫu Django
- 9. Swift: flatMap vào từ điển
- 10. cách truy cập phần tử từ điển trong mẫu django?
- 11. Truy cập một chuỗi Enum theo chỉ số
- 12. Truy cập NSCache thông qua subscript trong Swift 3
- 13. Từ điển Swift [String: String] tới NSMutableDictionary?
- 14. Python Values Truy cập trong danh sách các từ điển
- 15. Từ điển Iterate Python theo Chỉ mục
- 16. truy cập từ điển tài nguyên trong mã wpf
- 17. Tạo một lớp con Từ điển Swift?
- 18. Phím từ điển chữ thường trong Swift
- 19. đi qua từ điển phục vụ WCF
- 20. Swift NSUserDefault không lưu từ điển?
- 21. Truy cập tài nguyênDịch vụ từ điển theo chương trình
- 22. Truy cập Chứng chỉ Mozilla từ Delphi
- 23. So sánh tốc độ truy cập từ điển với phím số nguyên so với khóa chuỗi
- 24. Truyền AnyObject sang từ điển trong swift
- 25. Chuyển đổi Swift từ điển để NSDictionary
- 26. TypeScript, Lặp qua từ điển
- 27. biến Truy cập từ một ViewController trong Swift
- 28. Truy cập chưa được chỉ định thông qua reinterpret_cast
- 29. Truy cập email FacebookSDK và Swift
- 30. Tham số truy cập từ Command Class
Cảm ơn! Tôi quên đề cập đến, xin lỗi, rằng từ điển tôi đang nói về trông như thế này: [String: [AnyObject]]() Vì vậy, tôi có nhiều đối tượng cho mỗi khóa. Có thể có một mảng cho các giá trị của một khóa cụ thể không? – Vincent
@Vincent có chắc chắn, tôi sẽ cập nhật câu trả lời của tôi. – Firas
Cảm ơn! Điều này đã làm việc! – Vincent