を使用してIOS 9のアレイに選択した連絡先を保存する方法連絡先の詳細を取得しました。それらをアレイに保存します.1件の連絡先を1つのアレイとして保存しようとしました。私はそれらをすべて1つの配列に格納したいと考えています。それらを保存する方法。私をガイドしてください。 まずそれが私たちの携帯電話からのすべての連絡先を表示し、私は特定のcontact.That選択した連絡先が配列 に格納する必要が選択されているが、私は答えを持って、成功した配列への連絡先を保存swift
import UIKit
import ContactsUI
class ViewController: UIViewController ,CNContactPickerDelegate {
let contactStore = CNContactStore()
let amount = 200
//var selectedContact:CNContact = CNContact()
//var results:[CNContact] = []
var res:CNContact = CNContact()
var a = [String]()
override func viewDidLoad() {
super.viewDidLoad()
perform(#selector(contactPicker(_:didSelect:)), with: nil, afterDelay: 0)
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
}
@IBAction func contact(_ sender: Any) {
let cnPicker = CNContactPickerViewController()
cnPicker.delegate = self
self.present(cnPicker, animated: true, completion: nil)
do {
try contactStore.enumerateContacts(with: CNContactFetchRequest(keysToFetch: [CNContactGivenNameKey as CNKeyDescriptor, CNContactFamilyNameKey as CNKeyDescriptor, CNContactMiddleNameKey as CNKeyDescriptor, CNContactEmailAddressesKey as CNKeyDescriptor,CNContactPhoneNumbersKey as CNKeyDescriptor])) {
(contact, cursor) -> Void in
self.res = contact
///let data = Data(name: contact.givenName)
//self.dataArray?.addObject(data)
}
}
catch
{
print("Handle the error please")
}
}
func contactPicker(_ picker: CNContactPickerViewController, didSelect contacts: [CNContact]) {
contacts.forEach { contact in
//let storyboard = UIStoryboard(name:"Main",bundle:nil)
a = [contact.givenName]
print("name of contacts in array \(a)")
let n = a.flatMap({$0}).count
print(n)
let res = amount/n
print(res)
for c in a {
print ("split money \(c):\(res)")
}
//print(a.count)
let displayViewController = self.storyboard?.instantiateViewController(withIdentifier: "DisplayViewControllerr")as! DisplayViewControllerr
displayViewController.b = a
let appDelegate:AppDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.window?.rootViewController = displayViewController
self.navigationController?.pushViewController(displayViewController, animated: true)
//self.present(displayViewController,animated:false,completion: nil)
}
}
func contactPickerDidCancel(_ picker: CNContactPickerViewController) {
print("Cancel Contact Picker")
}
}
新しい配列を初期化する代わりに、クラスオブジェクトを初期化するたびに、連絡先を入力して配列にプッシュします。btwコードはどこですか?私たちは理論的な説明からあなたをどうお手伝いできますか? –
あなたの試したコードを表示 –