我想从 Swift 中的 AddressBook 获取联系人的图像,但是当我尝试获取此图像时,出现错误:ABPersonIMageFormat 无法转换为 ABPropertyID
我不知道如何转换它,或者这是否不可能我正在尝试......
这是我的代码:
var addressBook: ABAddressBookRef?
var contactList: NSArray = ABAddressBookCopyArrayOfAllPeople(addressBook).takeRetainedValue()
for record:ABRecordRef in contactList {
var contactPerson: ABRecordRef = record
var contactName: String = ABRecordCopyCompositeName(contactPerson).takeRetainedValue() as NSString
var contactid = ABRecordGetRecordID(contactPerson)
var image = ABRecordCopyValue(contactPerson, kABPersonImageFormatThumbnail).takeUnretainedValue() // Here get the error
如何获取在 UIImageView 中显示的图像?
谢谢!
最佳答案
您应该将图像数据视为可选
if let imgData = ABPersonCopyImageDataWithFormat(person, kABPersonImageFormatThumbnail)?.takeRetainedValue() {
let image = UIImage(data: imgData)
// Contact has image
} else {
// Contact has not image
}
关于ios - 如何在 Swift 中从地址簿中获取图像联系人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25586781/