Правильный способ использования ABPersonViewController?

Я новичок в Objective-C, поэтому заранее извиняюсь, если я упустил что-то, что вы считаете очевидным :)

Я написал простую программу для отображения адресной книги и выбора пользователя (имитируя список контактов iOS).

У меня есть базовый контроллер:

@interface BasicViewController : 
UIViewController<ABPersonViewControllerDelegate>

Контроллер получает ABRecordRef из предыдущего представления. В одном из моих методов я использую:

ABPersonViewController* ctrl = [[ABPersonViewController alloc]init];

ctrl.allowsEditing = NO;
[ctrl setPersonViewDelegate:self];
[ctrl setDisplaydPerson:person];

[self setView:ctrl.view];
[self.navigationController pushViewController:ctrl animated:
YES];

Когда я перехожу к фактическому представлению, я получаю пустой экран (с фоном, связанным с ABPersonView). Я немного повозился с displayProperties:

ctrl.displayedProperties = [NSArray arraywithObjects:
     [NSNumber numberWithInt:kABPersonLastNameProperty],nil];

Когда я указал, что хочу видеть только фамилию - на том же просмотре появилось сообщение - NO_VALUE_UNKNOWN

Я проверил отладку, и мой ABRecordRef не равен нулю и содержит все соответствующие строки.

Есть идеи?


person Beni Ben Zikry    schedule 23.04.2012    source источник


Ответы (1)


Решил :) Я вызвал из перехода метод, содержащий приведенный выше код. метод viewDidLoad super не вызывался до тех пор, пока не был вызван мой метод.

когда я изменил порядок вызовов, это сработало как шарм :)

person Beni Ben Zikry    schedule 25.04.2012