首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >reloadData in MasterView in DetailView

reloadData in MasterView in DetailView
EN

Stack Overflow用户
提问于 2011-06-25 18:39:40
回答 1查看 1.6K关注 0票数 0

我在前面的iPhone中遇到了一个类似的问题,但是相同的解决方案似乎不适用于iPad环境。我的目标是调用在我的forceReload中定义的方法RootViewController,该方法将在取消模式后从RootView中重新加载RootView中的倒计时_表的数据。当直接从RootViewController调用时,RootViewController工作得很好,但我似乎不能指向来自DetailView的RootViewController。

我试过用

代码语言:javascript
运行
复制
RootViewController *root_view = [self.splitViewController.viewControllers objectAtIndex:0];
[root_view forceReload];
[root_view.countdown_table reloadData];

但这只指向导航控制器,而不是其内部的视图控制器。即使模式被取消,RootViewController的viewWillAppear也不会触发。

我怎么能指向这个文件?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-25 21:58:55

尝试使用通知,即将RootViewController注册为DetailView或任何视图可能发送的通知的观察者。

在RootViewController的viewDidLoad中:

代码语言:javascript
运行
复制
[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(forceReload) 
                                             name:@"reloadRequest" 
                                           object:nil];

viewDidUnload或在dealloc:

代码语言:javascript
运行
复制
[[NSNotificationCenter defaultCenter] removeObserver:self];

在您的DetailViewController视图或模态视图中(您没有说它们是相同的),在拒绝视图之前,或者在需要RootViewController调用forceReload之前,将其正确设置为:

代码语言:javascript
运行
复制
NSNotification *notif = [NSNotification notificationWithName:@"reloadRequest" object:self];
[[NSNotificationCenter defaultCenter] postNotification:notif];
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6479780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档