मेरे पास एक शब्द है जिसमें UIColorएक enum मान द्वारा hashed वस्तुएँ हैं 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