Ist es möglich, eine bestimmte Kontaktinformation oder die Liste der Kontaktinformationen basierend auf dem Namen der Organisation oder der Job-Titel mit Adressbuch und Kontakte-Framework zu holen?Liste von iOS-Kontakten basierend auf dem Namen der Organisation oder des Jobtitels abrufen
Antwort
Ich glaube nicht, dass Sie die Kontakte aus dem CNContact-Store abrufen können, indem Sie nur den Organisationsnamen oder den Jobtitel im Prädikat angeben. Sie sollten den Organisationsnamen und den Jobtitel in die abzurufenden Schlüssel aufnehmen und dann die Kontaktliste erneut durchlaufen. Überprüfen Sie das Code-Snippet. Ich hoffe, es hilft. Vielen Dank.
func fetchContacts()
{
let contactStore = CNContactStore()
var allContainers : [CNContainer] = []
var allContacts : [CNContact] = []
//you can use one of these/ all keys to filter contacts
let keysToFetch = [CNContactGivenNameKey, CNContactOrganizationNameKey, CNContactJobTitleKey]
var OrganizationArray = [CNContact]()
do{
// _______________ Fetch all the Containers_________________________________
allContainers = try contactStore.containersMatchingPredicate(nil)
}
catch{
print(error)
}
for container in allContainers{
let fetchPredicate = CNContact.predicateForContactsInContainerWithIdentifier(container.identifier)
do{
//____________Fetch all the contacts corresponding to every Container______
let containerResults = try contactStore.unifiedContactsMatchingPredicate(fetchPredicate, keysToFetch: keysToFetch)
// allContacts.appendContentsOf(containerResults)
for contactRec in containerResults {
if contactRec.organizationName != "" {
OrganizationArray.append(contactRec)
}
}
}
catch{
print(error)
}
}
}
Das weiß ich, ich war Ich hoffe, dass es einen anderen Weg gibt, einen bestimmten Kontakt auf der Grundlage eines benutzerdefinierten Labels zu holen, das nicht zu den Namenseigenschaften gehört. Wenn wir dieser Methode folgen, müssen wir alle im Gerät verfügbaren Kontakte durchlaufen, um einen bestimmten Kontakt abzurufen oder zu aktualisieren. –
Soweit ich weiß, können Sie Kontakte basierend auf Kontaktname, Kontakt-ID, Container und Gruppen abrufen. Apple hat keine Vergleichselemente für andere Eigenschaften bereitgestellt. Ich denke, du musst alle Kontakte durchlaufen. – Jush
Sieht so aus, als gäbe es keine Option. –
- 1. Abrufen von Tweets basierend auf dem Namen der Twitter-Liste
- 2. Abrufen von Betreff-Namen basierend auf Farbe
- 3. Abrufen von Namen basierend auf Datum und Benutzer
- 4. Android Abrufen der Ressourcenzeichenfolge basierend auf dem Laufzeitwert
- 5. Python Dateien verschieben Basierend auf dem Namen
- 6. Abrufen einer Liste von Datensätzen basierend auf Zeitintervallen (PHP/MySQL)
- 7. Bedingte Anweisungen basierend auf dem Namen von # define
- 8. Abrufen Subarray basierend auf dem Teilunter Wert
- 9. Liste der Daten basierend auf dem Tag und dem Vorkommen des Monats erstellen
- 10. Festlegen des Zeitlimits basierend auf der Abfrage
- 11. Maximum von Element von Liste basierend auf dem anderen
- 12. Abrufen von dem Namen der aktuellen Funktion in PHP
- 13. Abrufen von SMS-Informationen basierend auf den Kontaktdaten des Benutzers
- 14. C#: Abrufen der Namen der installierten Bildschirmschoner
- 15. Liste der Wörterbücher basierend auf Schlüsseln sortieren
- 16. Android: Abrufen des Kontaktnamens von der Telefonnummer
- 17. Aufruf Methode basierend auf dem Typ der generischen Liste Element
- 18. Abrufen des ausgewählten Elements in der Liste
- 19. Abrufen eines SQL-Spaltenindex basierend auf dem Spaltennamen
- 20. Abrufen einer Tagesbereichszeichenfolge basierend auf dem ausgewählten Tag
- 21. Filtern einer Liste von Strings basierend auf dem Inhalt
- 22. C# Abrufen des Feldnamens von der Eigenschaft
- 23. SAP-Abfrage. Abrufen von Werten basierend auf der Eingabe auf dem Selektionsbildschirm
- 24. Python: BeautifulSoup - einen Attributwert erhalten basierend auf dem Namen Attribut
- 25. Abrufen von Facebook-Fan-Namen
- 26. Liste sortieren basierend auf Muster
- 27. AutoMapper SetValue basierend auf Namen
- 28. Zellenwert basierend auf Datum abrufen Excel
- 29. Abrufen von Enum-Wert basierend auf XmlEnumAttribute Name Wert
- 30. Datenzeilenanzahl basierend auf Bedingungen abrufen
Bitte stellen Sie sicher, dass Sie diese Zeilen lesen und versuchen, Ihre Frage zu verbessern: http://stackoverflow.com/help/mcve –
Wenn jemand eine bessere Lösung bekam fügen Sie bitte Ihre Antwort unten –