ฉันมีพจนานุกรมที่มี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