【问题标题】:Is there a good way to check if the UIViewController is appearing?有没有检查 UIViewController 是否出现的好方法?
【发布时间】:2023-03-18 09:10:01
【问题描述】:

我在 UIViewController 中有一个方法可以根据它当前是否出现来做事。 当调用 viewDidAppear/viewDidDisappear 时,我可以放置一个 BOOL 标志来切换 YES/NO,但是是否有更好的方法/方法来检查?

谢谢。

【问题讨论】:

标签: objective-c ios cocoa-touch uiviewcontroller


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 2014-04-14
    • 2014-10-23
    • 2011-02-20
    相关资源
    最近更新 更多