首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift 2.0 ContactsUI框架

Swift 2.0 ContactsUI框架
EN

Stack Overflow用户
提问于 2015-11-09 12:16:16
回答 1查看 597关注 0票数 0

我正在从事SWIFT2.0中的一个项目,该项目要求我使用iOS9S ContactUI框架。我遇到的问题是从联系人列表中正确选择一个电话号码。当我从联系人中选择一个电话号码时,应用程序崩溃。

下面是我用来执行此任务的代码。

代码语言:javascript
复制
var delegate: NewLocationViewControllerDelegate!
var contacts = [CNContact]()

override func viewDidLoad() {
    super.viewDidLoad()
    UIApplication.sharedApplication().delegate as! AppDelegate
    // Do any additional setup after loading the view.
}//end

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

@IBAction func openContacts(sender: UIButton) {
    let contactPicker = CNContactPickerViewController()
    contactPicker.delegate = self;
    contactPicker.displayedPropertyKeys = [CNContactPhoneNumbersKey]

    self.presentViewController(contactPicker, animated: true, completion: nil)
}//end

func contactPicker(picker: CNContactPickerViewController, didSelectContactProperty contactProperty: CNContactProperty) {
    let contact = contactProperty.contact
    let phoneNumber = contactProperty.value as! CNPhoneNumber
    print(contact.givenName)
    print(phoneNumber.stringValue)
}//end
EN

回答 1

Stack Overflow用户

发布于 2015-11-09 12:30:49

问题是,点击电话号码是试图拨打电话-而在模拟器上,没有电话。

您的contactPicker:didSelectContactProperty:将永远不会被呼叫,因为不会选择任何电话号码。取而代之的是,轻敲电话号码将尝试拨打该号码。这是因为您没有提供predicateForSelectionOfProperty。您需要将predicateForSelectionOfProperty设置为一个NSPredicate,当key为电话号码时,该set的计算结果为true

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33602443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档