【发布时间】:2017-07-15 07:59:27
【问题描述】:
我只想从移动联系人那里获取姓名和电子邮件并打印出来。我正在使用以下代码来执行此任务。
import UIKit
import ContactsUI
class ViewController: UIViewController, CNContactPickerDelegate{
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func button(_ sender: Any)
{
let contactPicker = CNContactPickerViewController()
contactPicker.delegate = self
contactPicker.displayedPropertyKeys =
[CNContactNicknameKey
,CNContactEmailAddressesKey]
self.present(contactPicker, animated: true, completion: nil)
}
func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact)
{
if let emailValue : CNLabeledValue = contact.emailAddresses.first
{
print(emailValue.value as String)
}
print(contact.givenName + " " + contact.familyName)
}
}
它打印我在 CNContactPickerViewController 中选择的名称和电子邮件,即使所选名称没有电子邮件,它也只打印名称。 现在,我想要的是,我不想在 CNContactPickerViewController 中显示没有电子邮件的名称。仅应显示存储了电子邮件的名称。我该怎么做?
使用 Xcode 8.2、Swift 3、IOS 10
注意:我不想检查电子邮件是否存在,或者它是否有效。
【问题讨论】: