我在UIViewController中有一个方法,如果它当前正在出现的话,就会做一些事情。 我可以在调用viewDidAppear / viewDidDisappear时设置一个BOOL标志来切换YES / NO但是有更好的方法/方法来检查吗?
感谢。
答案 0 :(得分:0)
viewDidAppear
方法是您最好的选择。不过,我看到了一些边缘情况,viewDidAppear
/ viewDidDisappear
未根据各种因素调用。
仅仅因为我喜欢控制并且不喜欢任何未知数,我通常会在我的控制器中公开一个方法,在调用时执行所有设置,当我知道我的控制器被调用时,我会调用此方法。
粗略 示例:
@interface MyController: UIViewController
- (void)reset;
@end
@implementation MyController
- (void)reset
{
//Set some defaults, do some logging, etc
}
- (void)viewDidAppear
{
[self reset];
}
- (void)viewDidLoad
{
[self reset];
}
@end
则...
@implementation SomeOtherController
- (void)someMethod
{
[self.myController reset];
//present self.myController using some logic
}
@end