繁体   English   中英

委托方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM