2016-04-14 6 views
2

Ich versuche, eine Löschung von Kontakten im Adressbuch zu implementieren, aber ich bekomme die folgenden Fehler.iOS: Fehler beim Löschen von Kontakten aus Adressbuch: [CNDataMapperContactStore executeSaveRequest: Fehler:]

Hier ist meine Implementierung:

CNMutableContact *contact = [[cnContacts objectAtIndex:i] copy]; 
     [cnContacts removeObjectAtIndex:i]; 


     CNSaveRequest *request = [[CNSaveRequest alloc] init]; 
     [request deleteContact:contact]; 

     NSError *error; 
     if (![self.ContactStore executeSaveRequest:request error:&error]) { 
      if (error) 
      { 
       NSLog(@"error = %@", error.description); 
      } 
     } 

Auf dieser Linie:

if (![self.ContactStore executeSaveRequest:request error:&error]) { 

ich diesen Fehler in der Konsole bekommen:

- [CNContact setSnapshot:]: Unbekannter Selektor gesendet an Instanz 0x145de3940

Auch diese Fehler werden angezeigt:

Contacts`-[CNDataMapperContactStore executeSaveRequest:error:]: 
libdispatch.dylib`_dispatch_mgr_thread: 

enter image description here enter image description here

von euch Jeder weiß, warum dieser Fehler oder was in meiner Implementierung ich falsch mache.

Antwort

1

Ich weiß, dass diese API nicht, aber ich sehe, dass umsah:

[request deleteContact:contact]; 

erfordert ein CNMutableContact Objekt und Sie haben es unveränderlich durch copy mit:

CNMutableContact *contact = [[cnContacts objectAtIndex:i] copy]; 
// contact is actually a CNContact object 

Sie wollen mutableCopy Ich sehe jedoch keine Notwendigkeit, eine Kopie zu erstellen, vorausgesetzt, cnContacts enthält CNMutableContact Instanzen, da das Entfernen aus dem Array das Objekt nicht zerstört, da Sie immer noch einen Verweis darauf haben cally.

Ich kann nur annehmen snapshot ist Privateigentum von CNMutableContact, die auf CNContact nicht verfügbar ist, und damit die Unbekannter Selektor Ausnahme (ich sehe nichts über diese Eigenschaft in der Klasse Referenz).

+0

mutableCopy machen den Trick. Vielen Dank! – user2924482

Verwandte Themen