我有一个变量。它包含电话号码。
我是这样使用的:
println(person.phoneNumbers!.map( {$0.value} ))
输出:
[555-478-7672, (408) 555-5270, (408) 555-3514]
您可以看到有三个电话号码。我怎样才能迭代这个变量?
我需要这样的东西:
Phone 1: 555-478-7672
Phone 2: (408) 555-5270
Phone 3: (408) 555-3514
最佳答案
此解决方案适用于 Swift 1.2
for (index, number) in enumerate(person.phoneNumbers!.map { $0.value }) {
println("Phone \(index): \(number)")
}
因为我被这个 吓到了!
我会选择以下版本
if let numbers = person.phoneNumbers {
for (index, number) in enumerate(numbers.map { $0.value }) {
println("Phone \(index): \(number)")
}
}
更新
下面的代码试图回答下面评论中添加的问题。
if let numbers = person.phoneNumbers {
let list = numbers.map { $0.value }
let json : [String:AnyObject] = ["phoneNumbers": list]
}
更新#2
请在下面找到第二个代码块,针对 Swift 2.0 进行了更新
if let numbers = person.phoneNumbers {
for (index, number) in (numbers.map { $0.value }).enumerate() {
print("Phone \(index): \(number)")
}
}
关于ios - 快速使用 map(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32361048/