我需要得到的地址信息,以计算航运和税率的采购项目在我的应用程序。我想使用Apple,因此我收到了作为ABRecordRef实例的记录。我试过了
NSString *zip = (__bridge NSString *)(ABRecordCopyValue(address, kABPersonAddressZIPKey));但它会导致EXC_BAD_ACCESS。我相信应该有办法让它起作用,有人知道吗?
发布于 2014-10-13 14:41:10
终于弄明白了:
CFTypeRef addressProperty = ABRecordCopyValue((ABRecordRef)address, kABPersonAddressProperty);
NSDictionary *addressDict = (__bridge NSDictionary *)CFArrayGetValueAtIndex((CFArrayRef)ABMultiValueCopyArrayOfAllValues(addressProperty), 0);由此产生的字典如下所示:
{
City = Hillsborough;
CountryCode = us;
State = CA;
ZIP = 94010;
}发布于 2014-10-10 20:19:13
假设您有联系人的记录标识符,并且希望检索地址。你的代码如下所示,
ABRecordRef address[1];
address[0] = ABAddressBookGetPersonWithRecordID(_addressBook, recId);
NSString *zip = (__bridge NSString *)(ABRecordCopyValue(address[0], kABPersonAddressZIPKey));如果您正在做类似的事情,那么请在上面的代码中注意,您需要在参数中使用address而不是address来实现函数。
希望能帮上忙。
https://stackoverflow.com/questions/26306058
复制相似问题