我试图在它们出现时更新我的一些视图,所以我自然地发现自己使用 viewDidAppear: 和 viewWillAppear: 方法。但是,我在使用这些方法时遇到了两个问题:
- 当我只实现其中一种方法时,我想要进行的更改并不完全存在,所以为了让一切正常工作,我用相同的代码实现了这两种方法。
- 即使在使用相同的代码实现这两种方法之后,更新视图内容时也会有 0.5 到 1 秒的延迟。
这是我定制的表格视图控制器的代码:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.tableView reloadData];
}
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self.tableView reloadData];
}
出于某种原因,我必须调用 reloadData 方法两次才能完全更新我的表格视图。
这是我定制的普通视图控制器的代码:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
navItem.title = @"Name1";
nameLabel.text = @"Name1";
nameField.hidden = YES;
}
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
navItem.title = @"Name1";
nameLabel.text = @"Name1";
nameField.hidden = YES;
}
谢谢!