我在应用程序中有 TabBarController,所以所有标签栏项目都在同时加载,,
当我更新数据并返回时,以前的视图仍然存在,并且在它们上方添加了新视图
我应该怎么办
我的编码在 ViewWillApear 中,
我没有在 ViewDidLoad 中编码,因为我想在数据库中更新数据时查看数据,
并且 ViewDidLoad 被调用一次,但 ViewWillApear 每次都被调用,所以每次添加新视图并且以前的视图都在那里,,,,
希望你明白我的意思,,,
我在应用程序中有 TabBarController,所以所有标签栏项目都在同时加载,,
当我更新数据并返回时,以前的视图仍然存在,并且在它们上方添加了新视图
我应该怎么办
我的编码在 ViewWillApear 中,
我没有在 ViewDidLoad 中编码,因为我想在数据库中更新数据时查看数据,
并且 ViewDidLoad 被调用一次,但 ViewWillApear 每次都被调用,所以每次添加新视图并且以前的视图都在那里,,,,
希望你明白我的意思,,,
您想要这些视图显示的值,或者您想要全部更新视图。
如果您只想更新值,请在 viewWillAppear 中执行此操作:无需再次创建和添加整个视图。这不是一个好习惯。
仅在 loadView 或 viewDidLoad: 方法中创建一次视图。并在 viewWillAppear 中为它们赋值:
或者在你的
-(void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
[self removeAllSubviews];
//OR
for(UIView * view in self.view.subviews)
{
[view removeFromSuperview];
view = nil;
}
}