[英]Delegate Methods
我让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方法中使用了相同的代码。 当调用该委托方法时,为什么不重载相同的代码?
因为在通常情况下,viewDidLoad不会被多次调用。 将您的更新代码放在viewWillAppear:animated:覆盖中。
我知道了,上面的代码正在将数据重新加载到数组中,但没有显示出来。 一旦添加[picker reloadAllComponents],它就可以正常工作。 选择器仅需要重新加载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.