iOS kann das Bild der Person nicht abrufen
Ich habe zwei tableViewController. Der erste hat eine Liste von Kontakten. Die andere zeigt detaillierte Personendaten.
Ein Stück Code des ersten tableViewController
<code>ABAddressBookRef addressBook = ABAddressBookCreate(); ABRecordRef source = ABAddressBookCopyDefaultSource(addressBook); NSArray *allPeople = (__bridge_transfer NSArray*)ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, source,kABPersonSortByFirstName); for ( int i = 0; i < [allPeople count]; i++ ) { ... contactClass = [[ContactClass alloc] initWithName:name surName:surName manID:[allPeople objectAtIndex:i]]; ... } </code>
Ein Stück Code des zweiten tableViewController
<code>ABRecordRef person = (__bridge ABRecordRef)contactClass.manID; BOOL isHasImage = ABPersonHasImageData(person); </code>
Die Variable isHasImage ist immer falsch, auch wenn der Kontakt einen Avatar hat. Ich habe dies sogar auf dem ersten tableViewController überprüft und wenn eine Person einen Avatar hat, gibt sie true und image zurück.
Weiß jemand, warum ich kein Kontaktbild bekomme?
p.s.contactClass.manID
ist Art vonid
. Es hat eine korrekte Adresse, weilABMultiValueRef multiValue = ABRecordCopyValue((__bridge ABRecordRef)contactClass.manID, kABPersonPhoneProperty);
gibt den korrekten Wert im zweiten tableViewController zurück