代表方法

时间:2010-08-16 17:27:32

标签: iphone

我正在让parentViewController忽略模态视图,因为我希望它在parentViewController上重新加载UIPicker。代码非常简单:

-(void)didDismissFormsView {

NSUserDefaults *profiles = [NSUserDefaults standardUserDefaults];

NSArray *array = [[NSArray alloc]initWithObjects:[profiles stringForKey:@"name1"],[profiles stringForKey:@"name2"],[profiles stringForKey:@"name3"],nil];

self.profileData = array;
[array release];

[self dismissModalViewControllerAnimated:YES];

}

..我知道从模态视图中正确调用了该方法,因为我注释掉了最后一行(dismissModal ....),它不会让我忽略该视图。

然而,UIPicker没有更新!如果我重新加载应用程序,那么UIPicker会更新,因为我在viewDidLoad方法中使用相同的代码。为什么在调用该委托方法时,完全相同的代码不会重新加载它?

2 个答案:

答案 0 :(得分:0)

因为在一般情况下不会多次调用viewDidLoad。将更新代码放在viewWillAppear:animated:override。

答案 1 :(得分:0)

我想通了,上面的代码是将数据重新加载到数组中但没有显示它。一旦我添加[picker reloadAllComponents],它就可以了。选择器只需要重新加载。