¿Cómo convertir <CFData> no administrado a NSData?
Necesito convertir mi Objective-C a Swift para obtener una imagen de un contacto de la libreta de direcciones. Pero me sale un error con para el elenco deCFData
aNSData
y no sé cómo hacer que esto funcione. ¿Qué puedo hacer para que esto funcione correctamente?
En el objetivo-C:
ABRecordID contactID = ABRecordGetRecordID(contactRef);
ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef origContactRef = ABAddressBookGetPersonWithRecordID(addressBook, contactID);
if (ABPersonHasImageData(origContactRef)) {
NSData *imgData = (NSData*)ABPersonCopyImageDataWithFormat(origContactRef, kABPersonImageFormatOriginalSize);
img = [UIImage imageWithData: imgData];
[imgData release];
}
CFRelease(addressBook);
return img;
En Swift:
var image: UIImage!
if ABPersonHasImageData(person) {
var imgData = (ABPersonCopyImageDataWithFormat(person, kABPersonImageFormatOriginalSize))
image = UIImage.imageWithData(imgData) //Here get the error
}