Files
memory-infrastructure-palace/docs/projects/memorypalace/Apple Notes/md.md

50 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<span style="color:#000ff;">// ViewController.swift</span>
<span style="color:#000ff;">// contactlist</span>
<span style="color:#000ff;">//</span>
<span style="color:#000ff;">// Created by Greg Jacobs on 2015-09-23.</span>
<span style="color:#000ff;">// Copyright © 2015 Binary Wasteland. All rights reserved.</span>
<span style="color:#000ff;">//</span>
<span style="color:#000ff;">import UIKit</span>
<span style="color:#000ff;">import Foundation</span>
<span style="color:#000ff;">import CoreData</span>
<span style="color:#000ff;">import Contacts</span>
<span style="color:#000ff;">import AddressBook</span>
<span style="color:#000ff;">class ViewController: UIViewController {</span>
<span style="color:#000ff;">override func viewDidLoad() {</span>
<span style="color:#000ff;">super.viewDidLoad()</span>
<span style="color:#000ff;">// Do any additional setup after loading the view, typically from a nib.</span>
<span style="color:#000ff;">let contactStore = CNContactStore()</span>
<span style="color:#000ff;">fetchRequest.unifyResults = true //true should be the default option</span>
<span style="color:#000ff;">do {</span>
<span style="color:#000ff;">try contactStore.enumerateContactsWithFetchRequest(CNContactFetchRequest(keysToFetch: [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactEmailAddressesKey])) {</span>
<span style="color:#000ff;">(contact, cursor) -> Void in</span>
<span style="color:#000ff;">if (!contact.emailAddresses.isEmpty){</span>
<span style="color:#000ff;">//Add to your array</span>
<span style="color:#000ff;">}</span>
<span style="color:#000ff;">}</span>
<span style="color:#000ff;">}</span>
<span style="color:#000ff;">catch{</span>
<span style="color:#000ff;">print("Handle the error please")</span>
<span style="color:#000ff;">} }</span>
<span style="color:#000ff;">override func didReceiveMemoryWarning() {</span>
<span style="color:#000ff;">super.didReceiveMemoryWarning()</span>
<span style="color:#000ff;">// Dispose of any resources that can be recreated.</span>
<span style="color:#000ff;">}</span>
<span style="color:#000ff;">func getContacts() -> [CNContact] {</span>
<span style="color:#000ff;">let contactStore = CNContactStore()</span>
<span style="color:#000ff;">let predicate: NSPredicate = NSPredicate(format: "")</span>
<span style="color:#000ff;">let keysToFetch = [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactEmailAddressesKey]</span>
<span style="color:#000ff;">do {</span>
<span style="color:#000ff;">return try contactStore.unifiedContactsMatchingPredicate(predicate, keysToFetch: keysToFetch)</span>
<span style="color:#000ff;">} catch {</span>
<span style="color:#000ff;">return []</span>
<span style="color:#000ff;">}</span>
<span style="color:#000ff;">}</span>
<span style="color:#000ff;">}</span>