2014-10-11 3 views
1

Мне нужно показать какую-то удобную строку, которая идентифицирует человека из их адресной книги. Поскольку записи человека могут иметь любую комбинацию имени, фамилии, псевдонима, среднего имени, и может быть любая комбинация пользовательских настроек для их отображения (сокращать имя или фамилию, предпочитать псевдонимы, фамилии и т. Д.), Это быстро становясь огромной задачей, чтобы сделать сам.IOS: Есть ли простой способ форматировать доступные имена контактов в строку так, как пользователь предпочитает?

Есть ли процедура, которую я не нашел, которая будет делать это форматирование для меня?

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

Можете привести примеры? и вы пытались написать несколько кодов? – Raptor

+0

Я не уверен, о чем вы просите, но я попробую. – Andreas

+0

Где ваши предпочтения на дисплее? – Wain

ответ

0

Ближайший я смог найти ABRecordCopyCompositeName(), который достаточно хорошо.