Fre*_*Lee 0 nsdictionary swift
Swift中的列表字典键行为与Objective-C不同.
Objective-C的:
NSDictionary *myDict = @{@"key1": @"One",@"key2": @"Two",@"key3": @"Three"};
for (NSString *myKey in myDict) {
NSLog(@"key: %@",myKey);
}
Run Code Online (Sandbox Code Playgroud)
Objective-C调试输出:
key: key1
key: key3
key: key2
Run Code Online (Sandbox Code Playgroud)
但Swift表现不同:
let stringOfStrings = ["key1":"value1", "key2":"value2"]
for key in stringOfStrings {
println(key)
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特的输出:
(key2, value2)
(key1, value1)
Run Code Online (Sandbox Code Playgroud)
如何使Swift像Objective-C一样执行; 即,仅列出键?
它看起来在Swift中表现不同的原因是,当你遍历字典时,你会得到一个元组.这个特定的元组有一个"键"和一个"值".如果你只想访问密钥,你应该只捕获元组的那一部分:
for (key, _) in stringOfStrings {
println(key)
}
Run Code Online (Sandbox Code Playgroud)
下划线(_
)是占位符,您通常会捕获一个表明您实际上不想使用该变量的变量.如果您确实使用了该值,则可以像这样循环:
for (key, value) in stringOfStrings {
println("\(key): \(value)")
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2047 次 |
最近记录: |