Ich benötige die Anzahl aller Kontakte auf dem Gerät eines Benutzers. Die deprecation Nachricht auf ABAddressBookGetPersonCount sagt:CNContactStore Anzahl der Kontaktdatensätze
Verwendungsanzahl von Ergebnissen mit Prädikat für CNContactFetchRequest holen = nil
Hier ist, was ich dieser Anleitung folgende aus:
__block NSUInteger contactsCount = 0;
NSError *error;
CNContactFetchRequest *request = [[CNContactFetchRequest alloc] initWithKeysToFetch:@[CNContactGivenNameKey]];
BOOL success = [self.contactStore enumerateContactsWithFetchRequest:request error:&error
usingBlock:^(CNContact * _Nonnull contact, BOOL * _Nonnull stop) {
contactsCount += 1;
}];
if (!success || error) {
NSLog(@"error counting all contacts, error - %@", error.localizedDescription);
}
Doch das sieht schrecklich in Bezug auf die Leistung. Ich habe keine andere Möglichkeit gefunden, die Anzahl zu ermitteln, ohne CNContact-Objekte aufzuzählen. Fehle ich etwas?
Vielen Dank im Voraus!
Wie ist Ihr Code so etwas wie die Anregung in der deprecation Nachricht? – trojanfoe
Gibt es eine andere Möglichkeit, eine CNContactFetchRequest auszuführen? –