2016-10-06 88 views

回答

1

反正我懂了。这里是我做到了

//class content 

class ViewController: UIViewController, ABPeoplePickerNavigationControllerDelegate, UINavigationControllerDelegate 

下面的源代码将打开联系人视图,让用户选择人的联系信息。

@IBAction func OpenContactView(sender: UIButton) { 

    self.presentViewController(self.peopleSelector, animated: true, completion: nil); 

} 

用户后选择一个人在接触看法?ABPeoplePickerNavigationControllerDelegate委托peoplePickerNavigationController函数将被调用。这里是Swift示例源代码。

func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController, didSelectPerson person: ABRecord) { 

     peoplePicker.dismissViewControllerAnimated(true, completion: nil); 



     let index = 0 as CFIndex; 



     //Get Name 

     var firstName:String?; 

     let firstNameObj = ABRecordCopyValue(person, kABPersonFirstNameProperty); 

     if(firstNameObj != nil) { 

      firstName = firstNameObj.takeRetainedValue() as? String; 

     } else { 

      firstName = ""; 

     } 



     var lastName:String?; 

     let lastNameObj = ABRecordCopyValue(person, kABPersonLastNameProperty); 

     if(lastNameObj != nil) { 

      lastName = lastNameObj.takeRetainedValue() as? String; 

     } else { 

      lastName = ""; 

     } 

      //Get Phone Number 

     var phoneNumber:String?; 

     let unmanagedPhones:Unmanaged? = ABRecordCopyValue(person, kABPersonPhoneProperty); 

     if(unmanagedPhones != nil) { 

      let phoneNumbers = unmanagedPhones?.takeRetainedValue(); 

      if(ABMultiValueGetCount(phoneNumbers) > 0) { 

       phoneNumber = ABMultiValueCopyValueAtIndex(phoneNumbers, index).takeRetainedValue() as? String; 

       phoneNumber = "Phone Number is empty!"; 

      } else { 

       phoneNumber = "Phone Number is empty!"; 

      } 


       self.phoneLabel.text = phoneNumber; 

     } 

    } 
相关问题