स्विफ्ट 3 के साथ, Dictionary
एक keys
संपत्ति है। keys
निम्नलिखित घोषणा है:
var keys: LazyMapCollection<Dictionary<Key, Value>, Key> { get }
एक संग्रह जिसमें केवल शब्दकोश की कुंजी है।
ध्यान दें कि LazyMapCollection
है कि आसानी से एक करने के लिए मैप किया जा सकता Array
के साथ Array
की init(_:)
प्रारंभकर्ता।
से NSDictionary
करने के लिए[String]
निम्नलिखित iOS AppDelegate
वर्ग स्निपेट दिखाता है कि कैसे एक स्ट्रिंग प्राप्त करें ( [String]
) keys
एक से संपत्ति का उपयोग करके NSDictionary
:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let string = Bundle.main.path(forResource: "Components", ofType: "plist")!
if let dict = NSDictionary(contentsOfFile: string) as? [String : Int] {
let lazyMapCollection = dict.keys
let componentArray = Array(lazyMapCollection)
print(componentArray)
// prints: ["Car", "Boat"]
}
return true
}
से [String: Int]
करने के लिए[String]
अधिक सामान्य तरीके से, निम्नलिखित खेल का मैदान कोड दिखाता है कि स्ट्रिंग कुंजियों और पूर्णांक मानों ( ) के साथ एक शब्दकोश से संपत्ति [String]
का उपयोग करके तार की एक सरणी ( ) कैसे प्राप्त करें :keys
[String: Int]
let dictionary = ["Gabrielle": 49, "Bree": 32, "Susan": 12, "Lynette": 7]
let lazyMapCollection = dictionary.keys
let stringArray = Array(lazyMapCollection)
print(stringArray)
// prints: ["Bree", "Susan", "Lynette", "Gabrielle"]
से [Int: String]
करने के लिए[String]
निम्नलिखित खेल का मैदान कोड दिखाता है कि कैसे एक पूर्णांक कुंजी (स्ट्रिंग मान ) और स्ट्रिंग मान के साथ गुण [String]
का उपयोग करके तार की एक सरणी प्राप्त की जा सकती है :keys
[Int: String]
let dictionary = [49: "Gabrielle", 32: "Bree", 12: "Susan", 7: "Lynette"]
let lazyMapCollection = dictionary.keys
let stringArray = Array(lazyMapCollection.map { String($0) })
// let stringArray = Array(lazyMapCollection).map { String($0) } // also works
print(stringArray)
// prints: ["32", "12", "7", "49"]