gpt4 book ai didi

ios - 在 iOS AddressBook 中使用未声明的标识符 'kABNicknameProperty' - 为什么?

转载 作者:行者123 更新时间:2023-11-29 04:17:25 24 4
gpt4 key购买 nike

我正在尝试在 iOS (5.0+) 上获取地址簿条目的姓名和出生日期,我找到了一种使用 documentation 来实现此目的的方法。和 this post 。但是对于所有“kAB...”常量,我总是收到标题中提到的错误,尽管我确信我在项目中链接了两个库 AddressBook 和 AddressBookUI。

有人知道我做错了什么吗?

这是我的代码:

#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>

//其他一些代码...

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {

NSString *name;

if ((NSString *)ABRecordCopyValue(person, kABNicknameProperty) != nil) {
name = (NSString *)ABRecordCopyValue(person, kABNicknameProperty);
} else if ((NSString *)ABRecordCopyValue(person, kABFirstNameProperty) != nil) {
name = (NSString *)ABRecordCopyValue(person, kABFirstNameProperty);
} else if ((NSString *)ABRecordCopyValue(person, kABLastNameProperty) != nil) {
name = (NSString *)ABRecordCopyValue(person, kABLastNameProperty);
}

int birthYear;
if ((NSDate *)ABRecordCopyValue(person, kABBirthdayProperty) != nil) {
NSDate *birthDate = (NSDate *)ABRecordCopyValue(person, kABBirthdayProperty) != nil;
NSCalendar *cal = [[NSCalendar alloc] init];
NSDateComponents *components = [cal components:0 fromDate:birthDate];
birthYear = [components year];
}

// do something with name and birth year
[self dismissModalViewControllerAnimated:YES];

return NO;
}

最佳答案

看起来您使用的常量似乎是 Mac OS X 特有的。其 ABRecordCopyValue 版本的 iOS 文档提供了常量名称,例如 kABPersonNicknameProperty

关于ios - 在 iOS AddressBook 中使用未声明的标识符 'kABNicknameProperty' - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13493481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com