我正在实现一个Notes管理器应用程序,它在tabBar中有一个tableView,其中显示了其注释的主要信息。访问一个注释时,您可以编辑其属性。在tabBar的一个按钮中,您可以选择在tableView中显示注释的方式。
我遇到的问题是我不知道如何从子控制器或tabBar的其他控制器重新加载数据。我不知道如何从它们引用tableView,所以我可以使用reloadData从它们更新TableView的信息。
我在iPhone开发方面很陌生......任何帮助都会非常感激。
答案 0 :(得分:8)
您应该尝试NSNotificationCenter
。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doSomething:) name:@"doSomethingNotification" object:nil];
[[NSNotificationCenter defaultCenter] postNotificationName:@"doSomethingNotification" object:nil];
答案 1 :(得分:4)
将表更新代码放在viewWillAppear中:代替viewDidLoad - 每次从子控制器返回父控制器时,都会重新加载数据。
答案 2 :(得分:2)
MVC模式将在这里提供帮助,
只要您继续使用所需信息更新模型,并且您的控制器正在从该模式更新。当您在视图之间向后滑动时,最终会自动更新视图。
通过这种方式,您可以调用重新加载数据方法,它们将得到更新。
[tableviewController.tableview reloadData];
是您访问重新加载数据消息的方式。
答案 3 :(得分:0)
我在处理原型单元时遇到了同样的问题。很奇怪我很确定我做的一切都很对。
然后我开始思考XCode是否有任何问题。所以我清理了所有东西,重新启动了XCode,它仍然抱怨。
最后,我尝试重做我对故事板的最新更改,即添加tableviewcell类并将其与所有ui控件连接起来。最后它停止了抱怨。
我不认为这个错误是由你的代码或其他东西造成的,我在iOS 5中遇到了几个奇怪的错误。它还在测试并且有很多错误。
无论如何,故事板很棒,我会尝试习惯它,它会描绘你的应用程序的大局,并且很容易处理不同视图之间的关系。另外,我真的很喜欢他的准备方法。
好运,好运。