有没有人对这个代码有问题...
ABRecordRef person = ABAddressBookGetPersonWithRecordID (addressBook,recordID);
到目前为止,我在这方面遇到了重大问题。我以前发布过这个问题间歇性错误访问核心数据模型/联系人数据库
但是,尽管存在合法的 addressBook 和 recordID 值,但我现在已经将其追踪到返回 NULL 值的方法。
知道为什么会发生这种情况吗?
非常感谢
有没有人对这个代码有问题...
ABRecordRef person = ABAddressBookGetPersonWithRecordID (addressBook,recordID);
到目前为止,我在这方面遇到了重大问题。我以前发布过这个问题间歇性错误访问核心数据模型/联系人数据库
但是,尽管存在合法的 addressBook 和 recordID 值,但我现在已经将其追踪到返回 NULL 值的方法。
知道为什么会发生这种情况吗?
非常感谢
发布答案以防它帮助其他人......
事实证明,这个问题与内存有关。我创建了一个地址簿:ABAddressBookCreate()。这是在循环中发生的,因此被一遍又一遍地创建。解决方案是将创建移出循环并使用 CFRelease(addressBook); 命令。
希望这对其他人有帮助!
我已经成功地完成了一个地址簿,从联系人列表中添加、编辑和删除记录。没有出现这种类型的错误。把它放在.h文件中......
ABRecordID
recordID;
将以下代码放入
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
{
recordID = ABRecordGetRecordID(person);
NSLog(@"Record id is %d",recordID);
}
如果您在其中获得 reoord id,那么我认为不会出现此类问题。咱们试试吧 ...