iphone вызывает контакт адресной книги

У меня возникли проблемы с доступом к адресной книге iphone по ABReferenceID.

Метод вызывается правильно (accessoryButtonTappedForRowWithIndexPath), все с #import в порядке (так как я могу сохранить данные без проблем).

У меня есть контакт с ReferenceID = 69273024, я просто хочу его поднять.

Я пытаюсь сделать это с помощью следующей техники, но строка 2 неверна. Не могу понять, как правильно интегрировать число в задачу. Какие-нибудь советы?

ABPersonViewController *pvc = [[ABPersonViewController alloc] init];
pvc.displayedPerson = 69273024;

[[self navigationController] pushViewController:pvc animated:YES];  

С уважением, норскбен.


person oberbaum    schedule 25.01.2010    source источник


Ответы (1)


Свойство displayedPerson должно иметь значение ABRecordRef. Вы можете получить ABRecordRef из ABRecordID, используя ABAddressBookGetPersonWithRecordID. Вы можете получить ABAddressBookRef, используя ABAddressBookCreate.

ОБНОВЛЕНИЕ
Вот пример кода, но я его не тестировал:

ABPersonViewController *pvc = [[ABPersonViewController alloc] init];
pvc.displayedPerson = ABAddressBookGetPersonWithRecordID(ABAddressBookCreate(),69273024);

[[self navigationController] pushViewController:pvc animated:YES];
[pvc release];
person gerry3    schedule 25.01.2010
comment
Я собрал предложенный код вместе в обновлении ответа. Сообщите мне, если вы обнаружите какие-либо проблемы. - person gerry3; 26.01.2010
comment
да, это помогает, это близко к тому, что у меня есть сейчас, за исключением того, что теперь я не уверен на 100%, что отправляю ему правильный номер в первую очередь. Потому что у меня постоянно отображается пустой список контактов. Как я могу убедиться, что у меня есть хороший номер для тестирования, который работает с указанным выше кодом? - person oberbaum; 26.01.2010
comment
Я только что провел дополнительные тесты, и кажется, что pvc.displayedPerson устанавливается в 0 / null, когда я называю его целым числом / строкой. Данные NSlog, которые я получаю, - это SQL [19460: 207] Идентификатор записи - 69284016; [19460: 207] pvc.displayedPerson - (null) в коде: NSLog (@Record ID -% d, recordId); NSLog (@ pvc.displayedPerson -% @, pvc.displayedPerson); - person oberbaum; 26.01.2010
comment
я разместил свою полную проблему на: stackoverflow.com/questions/2138923/ - person oberbaum; 26.01.2010