2012-04-23 2 views
1

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

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

У меня есть основной контроллер:

@interface BasicViewController : 
UIViewController<ABPersonViewControllerDelegate> 

Контроллер recieves в 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). я повозился немного с displayedProperties:

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

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

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

Любые идеи?

ответ

2

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

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

Смежные вопросы