5

我正在实现一个笔记管理器应用程序,它在 tabBar 中有一个 tableView,其中显示了它的笔记的主要信息。访问一个笔记时,您可以编辑其属性。在 tabBar 的一个按钮中,您可以选择注释在 tableView 中的显示方式。

我遇到的问题是我不知道如何从子控制器或 tabBar 的另一个控制器重新加载数据。我不知道如何从他们那里引用 tableView,所以我可以使用 reloadData 从他们那里更新 TableView 的信息。

我是 iPhone 开发的新手……任何帮助都将不胜感激。

4

4 回答 4

8

你应该试试NSNotificationCenter

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doSomething:) name:@"doSomethingNotification" object:nil];

[[NSNotificationCenter defaultCenter] postNotificationName:@"doSomethingNotification" object:nil];
于 2010-12-28T05:16:00.920 回答
4

将您的表格更新代码放入 viewWillAppear: 而不是 viewDidLoad - 这样每次您从子控制器返回父控制器时,数据都会重新加载。

于 2009-05-31T16:19:23.803 回答
2

MVC 模式在这里会有所帮助,

只要您使用所需的信息不断更新您的模型,并且您的控制器正在从该模式更新。当您在视图之间回弹时,您最终会自动更新视图。

这样你就可以调用你的重新加载数据方法,它们会得到更新。

[tableviewController.tableview reloadData]; 

是您访问重新加载数据消息的方式。

于 2009-05-31T15:56:27.533 回答
0

我在处理原型单元时遇到了同样的问题。奇怪的是,我很确定我做的一切都是正确的。

然后我开始思考 XCode 是否有问题。所以我清理了所有东西,重新启动了 XCode,它仍然在抱怨。

最后,我尝试重做我对故事板的最新更改,即添加一个 tableviewcell 类并将其与我所有的 ui 控件挂钩。最后它停止了抱怨。

我不认为此错误是由您的代码或其他原因引起的,我在 iOS 5 中遇到了几个奇怪的错误。它仍在测试中并且有很多错误。

无论如何,故事板很棒,我会尽量习惯它,它描绘了你的应用程序的大图,并且很容易处理不同视图之间的关系。另外,我真的很喜欢他的 prepareforsegue 方法。

好的祝你好运。

于 2011-12-07T22:07:43.307 回答