我需要显示某种用户友好字符串,用于通过地址簿记录识别某人。由于人物记录可以具有名字,姓氏,昵称,中间名称的任意组合,并且可以存在用于显示它们的任何组合(缩短名字或姓氏,首选昵称,姓氏等),它是很快就成了我自己的一项艰巨任务。
是否有一个我没有找到的例程会为我做这种格式化?
E.g。类似的东西:
NSString *displayName = (__bridge NSString*)APIGetDisplayNameForPersonRecord(self.selectedPerson);
代替:
NSString *firstName = (__bridge_transfer NSString*) ABRecordCopyValue(self.selectedPerson, kABPersonFirstNameProperty);
NSString *lastName = (__bridge_transfer NSString*) ABRecordCopyValue(self.selectedPerson, kABPersonLastNameProperty);
NSString *nickname = (__bridge_transfer NSString*) ABRecordCopyValue(self.selectedPerson, kABPersonNicknameProperty);
NSString *displayName = @"";
if(firstName) displayName = firstName;
if(lastName) // ...
if(nickname) // ...
// lots of logic
答案 0 :(得分:0)
我能找到的最接近的是ABRecordCopyCompositeName()
,这已经足够了。