我在 UIViewController 中有一个方法可以根据它当前是否出现来做事。
当调用 viewDidAppear/viewDidDisappear 时,我可以放置一个 BOOL 标志来切换是/否,但是有更好的方法/方法来检查吗?
谢谢。
最佳答案
viewDidAppear
方法是你最好的选择。不过,我已经看到了一些边缘情况,其中 viewDidAppear
/viewDidDisappear
不根据各种因素调用。
仅仅因为我喜欢控件并且不喜欢任何未知数,我通常会在我的 Controller 中公开一个方法,该方法在调用时执行所有设置,并且当我知道我的 Controller 被调用时我会调用此方法。
一个 粗例子:
@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
关于objective-c - 有没有检查 UIViewController 是否出现的好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8944892/