Como converter <CFData> não gerenciado em NSData?
Preciso converter meu Objective-C em Swift para obter uma imagem de um contato no Catálogo de endereços. Mas recebo um erro com o elenco deCFData
paraNSData
e eu não sei como fazer isso funcionar. O que posso fazer para que isso funcione corretamente?
No 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;
Em Swift:
var image: UIImage!
if ABPersonHasImageData(person) {
var imgData = (ABPersonCopyImageDataWithFormat(person, kABPersonImageFormatOriginalSize))
image = UIImage.imageWithData(imgData) //Here get the error
}