Tôi có một từ điển chứa UIColorcác đối tượng được băm bởi một giá trị enum , ColorScheme:
var colorsForColorScheme: [ColorScheme : UIColor] = ...
Tôi muốn có thể trích xuất một mảng của tất cả các màu (các giá trị) có trong từ điển này. Tôi nghĩ rằng tôi có thể sử dụng thuộc valuestính, như được sử dụng khi lặp qua các giá trị từ điển ( for value in dictionary.values {...}), nhưng điều này trả về một lỗi:
let colors: [UIColor] = colorsForColorSchemes.values
~~~~~~~~~~~~~~~~~~~~~^~~~~~~
'LazyBidrectionalCollection<MapCollectionView<Dictionary<ColorScheme, UIColor>, UIColor>>' is not convertible to 'UIColor'
Có vẻ như thay vì trả về một Arraygiá trị, valuesphương thức trả về kiểu bộ sưu tập trừu tượng hơn. Có cách nào để có được một Arraygiá trị chứa từ điển mà không cần trích xuất chúng trong một for-invòng lặp không?
colorsForColorSchemes.values