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