ฉันมีพจนานุกรมที่มีUIColor
วัตถุที่แฮชโดยค่า enum ColorScheme
:
var colorsForColorScheme: [ColorScheme : UIColor] = ...
ฉันต้องการแยกอาเรย์ของสีทั้งหมด (ค่า) ที่อยู่ในพจนานุกรมนี้ ฉันคิดว่าฉันสามารถใช้values
คุณสมบัติได้ตามที่ใช้เมื่อทำการวนซ้ำค่าพจนานุกรม ( for value in dictionary.values {...}
) แต่สิ่งนี้ส่งกลับข้อผิดพลาด:
let colors: [UIColor] = colorsForColorSchemes.values
~~~~~~~~~~~~~~~~~~~~~^~~~~~~
'LazyBidrectionalCollection<MapCollectionView<Dictionary<ColorScheme, UIColor>, UIColor>>' is not convertible to 'UIColor'
ดูเหมือนว่าแทนที่จะส่งคืนArray
ค่าของvalues
วิธีการส่งกลับประเภทคอลเลกชันที่เป็นนามธรรมมากขึ้น มีวิธีการรับArray
ค่าของพจนานุกรมโดยไม่แยกในfor-in
วนหรือไม่
colorsForColorSchemes.values