我试图从设备上获取联系人列表,但出现了问题,所以我没有收到联系人列表。
这是我的代码,我做错了什么?
let addressBook = APAddressBook()
override func viewDidLoad() {
super.viewDidLoad()
self.registerCellClass(AddressTableViewCell.self, forModelClass: APContact.self)
self.addressBook.fieldsMask = APContactField.Default | APContactField.Thumbnail
self.addressBook.sortDescriptors = [NSSortDescriptor(key: "firstName", ascending: true),
NSSortDescriptor(key: "lastName", ascending: true)]
self.addressBook.filterBlock = {(contact: APContact!) -> Bool in
return contact.phones.count > 0
}
self.addressBook.loadContacts({ (contacts: [AnyObject]!, error: NSError!) in
if (contacts != nil) {
self.memoryStorage().addItems(contacts)
} else if (error != nil) {
let alert = UIAlertView(title: "Error", message: error.localizedDescription, delegate: nil, cancelButtonTitle: "OK")
alert.show()
}
})
}
答案 0 :(得分:0)
我认为你正在点击addItems
行,但是你没有看到它反映在表格视图中?如果是这种情况,问题很可能是loadContacts
异步运行,因此您必须在表格视图完成后调用reloadData
。否则,APAddressBook
完成加载联系后,您的表视图将永远不会更新。