我使用了这段代码:
var vcard = NSData()
let usersContact = CNMutableContact()
do {
try vcard = CNContactVCardSerialization.dataWithContacts([usersContact])
} catch {
print("Error \(error)")
}
将CNMutableContact转换为似乎正在运行的vCard。 当我尝试将vCard转换回来然后使用它(在另一个viewController中使用segue发送我非常有信心的数据):
var vCardSFR = NSData()
var usersContact = CNContact()
....more code....
do {
try usersContact = CNContactVCardSerialization.contactsWithData(vCardSFR)
} catch {
print("Error \(error)")
}
但我得到一个错误,说它无法分配类型[AnyObject]的值来键入CNContact。 那么我尝试用这种方式初始化CNContact:
var usersContact = [CNContact()]
然后我得到一个错误,说不能指定[AnyObject]类型的值来键入[CNContact]。 我认为这是一个非常简单的解决方案,但我不知道它可能是什么。 我一直用它来获取vCards的代码: https://developer.apple.com/library/prerelease/mac/documentation/Contacts/Reference/CNContactVCardSerialization_Class/index.html#//apple_ref/occ/clm/CNContactVCardSerialization/contactsWithData:error:
非常感谢任何帮助!
答案 0 :(得分:2)
我用过
var usersContact = []
do {
try usersContact = CNContactVCardSerialization.contactsWithData(vCardSFR)
} catch {
print("Error \(error)")
}
然后
var contact = usersContact[0] as! CNContact