0
我有此代码推mutlivalue条目成阵列迅速
swiftAddressBook?.requestAccessWithCompletion({ (success, error) -> Void in
if success {
if let people = swiftAddressBook?.allPeople {
for person in people {
println(person.phoneNumbers?.map({$0.value}))
}
}
}
else {
//no success. Optionally evaluate error
}
})
基本上我想利用每个电话号码,并将其推入的阵列。
上面的代码输出:
Optional(["+11111111111"])
Optional(["+11111111111"])
Optional(["(111) 111-111"])
Optional([" (111) 111-111"])
Optional(["+11111111111", "+11111111111", "+11111111111", "+11111111111", "+11111111111", "+11111111111", "+11111111111", "+11111111111", "+11111111111", "+11111111111", "+11111111111", "+11111111111"])
Optional(["+11111111111"])
Optional(["+11111111111"])
Optional(["(111) 111-111"])
林好奇2的事情。我可以在我的for循环中添加什么,以便将每个数字添加到我自己的数组中。此外,为什么一个可选有50个数字在其中..
谢谢你的第一个答案,但你的第二个解释是不正确的。我删除了上面提供的输出中的许多值。一个可选字面上有75个左右的数字。这是从我的手机上的地址簿中拉出的,我知道一个联系人没有75个号码,例如手机,家庭等。 – 2015-03-13 15:51:58
当然,不管 - 我不熟悉图书馆(我在github上看过它),但看起来很可能这是发生了什么。但是,尽管如此,有多个数字的原因是因为personNumbers正在返回一个数组(因此输出中的方括号),并且数组可以有多个数字。尝试打印出更多的属性,例如将'number.value'改为'“\(number.label):\(number.value)”' – 2015-03-13 16:04:12
你说得对。谢谢。当我添加标签部分时,一个数组有一大堆数字,标签为“由Truecaller提供支持”。正如其他人所说的那样 –
2015-03-13 16:31:20