2016-10-06 9 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; 

     } 

    } 
関連する問題