我对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相关联)。 我用displayedProperties搞砸了一下:
ctrl.displayedProperties = [NSArray arraywithObjects:
[NSNumber numberWithInt:kABPersonLastNameProperty],nil];
当我指定我只想查看姓氏时 - 会显示一条消息 在同一个视图上 - NO_VALUE_UNKNOWN
我检查了调试,我的ABRecordRef不为null,并包含所有相关的字符串。
有什么想法吗?
答案 0 :(得分:2)
解决了:) 我从segue调用了一个包含上面显示的代码的方法。 在我的方法之后才调用super的viewDidLoad方法。
当我重新安排调用顺序时,它就像一个魅力:)