📝 Update and organize project documentation and assets

This commit is contained in:
2026-01-26 22:46:14 +00:00
parent 4194dcfeff
commit b20e2185b2
1433 changed files with 64484 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
<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>