Подтвердить что ты не робот

IOS Swift CNContactPickerViewController поиск контакта и добавление к выбору

Я использую iOS 9 и Swift 2.2

Я реализовал iOS inbuilt CNContactPickerViewController, используя CNContactPickerDelegate, чтобы получить контактные номера,

На экране CNContactPickerViewController, когда я нажимаю на поле поиска сверху и ищу имя, мне нужно добавить это имя к моему выбору, но ничего не произойдет после нажатия контакта.

Я искал всюду и нашел какое-либо решение для этого

Нужно ли что-либо добавлять к моему коду или это ошибка iOS 9

@IBAction func AddBtnKlkFnc(sender: AnyObject)
{
    let contactPicker = CNContactPickerViewController()
    contactPicker.delegate = self
    contactPicker.displayedPropertyKeys =
        [CNContactPhoneNumbersKey]
    self.presentViewController(contactPicker, animated: true, completion: nil)
}

func contactPicker(picker: CNContactPickerViewController, didSelectContacts ContctAryVar: [CNContact])
{
    for ContctVar in ContctAryVar
    {
        let ContctDtlVar = ContctDtlCls()
        ContctDtlVar.ManNamVar = CNContactFormatter.stringFromContact(ContctVar, style: .FullName)!

        for ContctNumVar: CNLabeledValue in ContctVar.phoneNumbers
        {
            var MobNumVar  = ((ContctNumVar.value as! CNPhoneNumber).valueForKey("digits") as? String)!
            if(MobNumVar.Len() > 10)
            {
                MobNumVar = MobNumVar.GetLstSubSrgFnc(10)
            }
            ContctDtlVar.MobNumVar = MobNumVar
            ContctDtlAryVar.append(ContctDtlVar)
        }
    }
}
4b9b3361

Ответ 1

Use this updated code and  


   @IBAction func AddBtnKlkFnc(sender: AnyObject)
    {
        let contactPicker = CNContactPickerViewController()
        contactPicker.delegate = self
        contactPicker.displayedPropertyKeys =
            [CNContactPhoneNumbersKey]
        self.presentViewController(contactPicker, animated: true, completion: nil)
    }

    func contactPicker(picker: CNContactPickerViewController, didSelectContacts ContctAryVar: [CNContact])
    {
        for ContctVar in ContctAryVar
        {
            let ContctDtlVar = ContctDtlCls()
            ContctDtlVar.ManNamVar = CNContactFormatter.stringFromContact(ContctVar, style: .FullName)!

            for ContctNumVar: CNLabeledValue in ContctVar.phoneNumbers
            {
                var MobNumVar  = ((ContctNumVar.value as! CNPhoneNumber).valueForKey("digits") as? String)!
                if(MobNumVar.Len() > 10)
                {
                    MobNumVar = MobNumVar.GetLstSubSrgFnc(10)
                }
                ContctDtlVar.MobNumVar = MobNumVar
                ContctDtlAryVar.append(ContctDtlVar)
            }
        }

     delegate.didFetchContacts([contact])
    navigationController?.popViewControllerAnimated(true)
    }