2016-01-18 9 views
9

के साथ संपर्कों का उपयोग करके संपर्कों को कैसे क्रमबद्ध करें मैंने संपर्कों को सॉर्ट करने के बारे में आधिकारिक सेब दस्तावेज़ पढ़ा है, हालांकि मुझे यकीन नहीं है कि इसे कैसे कार्यान्वित किया जाए। तो, यहाँ अनुरोध लाने है:स्विफ्ट

let fetchRequest = CNContactFetchRequest(keysToFetch: keysToFetch) 

और मेरे पसंदीदा सॉर्ट क्रम:

let sortOrder = CNContactSortOrder.UserDefault 

और यह कैसे मैं आमतौर पर संपर्कों को लाने है:

do { 
     try store.enumerateContactsWithFetchRequest(fetchRequest, usingBlock: { (let contact, let stop) -> Void in 
       self.contacts.append(contact) 
     }) 
    } 
    catch let error as NSError { 
     print(error.localizedDescription) 
    } 

अब क्या मैं साथ क्या करना चाहिए sortOrder? मुझे अपनी पूरी fetching प्रक्रिया में कहां और कहाँ शामिल करना चाहिए?

उत्तर

22

स्विफ्ट 4.0 के लिए अद्यतन

let fetchRequest = CNContactFetchRequest(keysToFetch: [CNContactGivenNameKey as CNKeyDescriptor, CNContactFamilyNameKey as CNKeyDescriptor, CNContactMiddleNameKey as CNKeyDescriptor, CNContactEmailAddressesKey as CNKeyDescriptor,CNContactPhoneNumbersKey as CNKeyDescriptor]) 

     fetchRequest.sortOrder = CNContactSortOrder.userDefault 

     let store = CNContactStore() 

     do { 
      try store.enumerateContacts(with: fetchRequest, usingBlock: { (contact, stop) -> Void in 
       // print(contact.phoneNumbers.first?.value ?? "not found") 

      }) 
     } 
     catch let error as NSError { 
      print(error.localizedDescription) 
     } 

पुराने संस्करण लिखने इस

fetchRequest.sortOrder = CNContactSortOrder.UserDefault 

तरह के बाद fetchRequest वस्तु बनाई तो अपने अंतिम आउटपुट

let fetchRequest = CNContactFetchRequest(keysToFetch: keysToFetch) 

fetchRequest.sortOrder = CNContactSortOrder.UserDefault 

do { 
     try store.enumerateContactsWithFetchRequest(fetchRequest, usingBlock: { (let contact, let stop) -> Void in 
       self.contacts.append(contact) 
     }) 
    } 
    catch let error as NSError { 
     print(error.localizedDescription) 
    } 
की तरह है
+1

मैंने अपनी दैनिक अपवॉट सीमा को मारा है लेकिन यह सही है, धन्यवाद। बस 'CNContactSortOrder.' और' UserDefault' के बीच की जगह को हटा दें। –

+0

संपादन के लिए धन्यवाद। आप अगले दिन – jay

+1

पर इसे ऊपर उठा सकते हैं ओ यह जवाब बहुत अच्छा है !! धन्यवाद :) –