我正在让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方法中使用相同的代码。为什么在调用该委托方法时,完全相同的代码不会重新加载它?
答案 0 :(得分:0)
因为在一般情况下不会多次调用viewDidLoad。将更新代码放在viewWillAppear:animated:override。
中答案 1 :(得分:0)
我想通了,上面的代码是将数据重新加载到数组中但没有显示它。一旦我添加[picker reloadAllComponents],它就可以了。选择器只需要重新加载。