【发布时间】:2010-04-08 03:33:04
【问题描述】:
ViewA从Coredata加载一些数据,然后推送到下一个viewB。在viewB中,有一些函数会改变viewA的内容(意思是viewB改变核心数据的内容)。但是,当我将视图弹出回viewA 时,我的内容与以前保持一致。我怎样才能解决这个问题?
【问题讨论】:
标签: iphone objective-c uiviewcontroller
ViewA从Coredata加载一些数据,然后推送到下一个viewB。在viewB中,有一些函数会改变viewA的内容(意思是viewB改变核心数据的内容)。但是,当我将视图弹出回viewA 时,我的内容与以前保持一致。我怎样才能解决这个问题?
【问题讨论】:
标签: iphone objective-c uiviewcontroller
在 viewA 的 -(void)viewWillAppear:(BOOL)animated 委托方法中,您可以刷新所需的控件...即,如果您想重新加载表
在 viewWillAppear 方法中
写
[Table reloadData];
【讨论】:
有两种方法可以做到这一点:
你将在viewA的viewCONtroller的viewDidLoad方法中设置的viewA的内容可以在viewWillAppear中设置。这样,视图的内容总是会在视图出现时重新加载。
另一种方法难度不大,但在性能方面效率更高。在 viewA 中有一个布尔变量,现在当你通过在 viewB 中引用它来更改 viewB 中的任何东西时,它的值应该设置为 true,现在,如果布尔值更改为 true,则在 viewWillAppear 中弹出检查。如果是,则再次将其设置为否,并调用您从视图中调用的方法确实加载以加载视图A中的数据。
希望这会有所帮助。
谢谢,
马杜普
【讨论】: