मेरे पास एक शब्द है जिसमें 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