如何将vCard转换为CNContact

酷企鹅

我使用了这段代码:

 var vcard = NSData()
 let usersContact = CNMutableContact()
 do {
     try vcard = CNContactVCardSerialization.dataWithContacts([usersContact])
 } catch {
     print("Error \(error)")
 }

将CNMutableContact转换为似乎有效的vCard。当我尝试使用此方法将vCard转换回去时(在另一个使用segue的viewController中发送我非常有信心的数据):

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]。我认为对此有一个非常简单的解决方案,但是我不知道它可能是什么。我一直在使用它来获取vCard的代码:https : //developer.apple.com/library/prerelease/mac/documentation/Contacts/Reference/CNContactVCardSerialization_Class/index.html#//apple_ref/occ/clm/ CNContactVCardSerialization / contactsWithData:error

任何帮助将不胜感激!

酷企鹅

我用了

var usersContact = []
do {
    try usersContact = CNContactVCardSerialization.contactsWithData(vCardSFR)


} catch {
    print("Error \(error)")
}

进而

var contact = usersContact[0] as! CNContact

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章