【发布时间】:2015-12-21 23:17:43
【问题描述】:
我需要将我的 Objective-C 转换为 Swift 以从通讯簿中获取联系人的图像。但是我从CFData 到NSData 的转换出现错误,我不知道如何使它工作。我该怎么做才能使这项工作正常进行?
在 Objective-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;
在斯威夫特中:
var image: UIImage!
if ABPersonHasImageData(person) {
var imgData = (ABPersonCopyImageDataWithFormat(person, kABPersonImageFormatOriginalSize))
image = UIImage.imageWithData(imgData) //Here get the error
}
【问题讨论】: