gpt4 book ai didi

ios - Swift Address Book,迭代电子邮件获取错误类型

转载 作者:搜寻专家 更新时间:2023-11-01 05:39:52 25 4
gpt4 key购买 nike

Xcode 6.4
Swift 1.2

我正在尝试迭代用户联系人,并为每个有电子邮件的联系人迭代电子邮件。问题是,在将电子邮件转换为字符串而不是将其作为 String 对象时,我收到的电子邮件是 errorType。

我的问题是,为什么会这样?
为什么 EmailID 没有被识别为 String

这是我的代码:

let allContacts = ABAddressBookCopyArrayOfAllPeople(self.addressBookRef).takeRetainedValue() as Array

for record in allContacts
{

let currentContact: ABRecordRef = record;

let emailMultiValue:ABMultiValueRef = ABRecordCopyValue(currentContact, kABPersonEmailProperty).takeRetainedValue() as ABMultiValueRef

if ABMultiValueGetCount(emailMultiValue) > 0 {
let emailAddresses: NSArray = ABMultiValueCopyArrayOfAllValues(emailMultiValue).takeUnretainedValue() as NSArray

for email :AnyObject in emailAddresses {
if let emailID = email as? String{
//EmailID is <<errorType>>
println(emailID) //actually prints the email

}

}
}

}

enter image description here

编辑:
我试图用那一行替换 emailAddressed。

let emailAddresses: [String] = ABMultiValueCopyArrayOfAllValues(emailMultiValue).takeUnretainedValue() as! [String]

但是,我仍然遇到同样的错误。

谢谢!

最佳答案

好的,这可以通过迭代索引而不是元素来解决

for i in 0..<emailAddresses.count {
let email:String = emailAddresses[i]; //email is actually a string now
}

如果有人知道为什么迭代元素会产生错误类型我真的很想知道

关于ios - Swift Address Book,迭代电子邮件获取错误类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31920340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com