ด้วย Swift 3 Dictionary
มีkeys
คุณสมบัติ keys
มีการประกาศดังต่อไปนี้:
var keys: LazyMapCollection<Dictionary<Key, Value>, Key> { get }
ชุดรวมที่มีเพียงปุ่มของพจนานุกรม
โปรดทราบว่าLazyMapCollection
สามารถแมปArray
กับตัวเริ่มต้นArray
ของด้วยได้อย่างง่ายดายinit(_:)
ตั้งแต่NSDictionary
ถึง[String]
AppDelegate
ตัวอย่างคลาสiOS ต่อไปนี้แสดงวิธีรับอาร์เรย์ของสตริง ( [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]
โดยทั่วไปแล้วโค้ด Playground ต่อไปนี้จะแสดงวิธีรับอาเรย์ของสตริง ( [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]
รหัส Playground ต่อไปนี้แสดงวิธีรับอาร์เรย์ของสตริง ( [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"]