iOS应用applicationWillEnterForeground并坚持了一会儿(iOS app

2019-07-29 10:52发布

我添加此功能时,应用程序进入前台张贴的通知:

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    [[NSNotificationCenter defaultCenter] postNotificationName: @"UIApplicationWillEnterForegroundNotification" object: nil];
}

在我自己的类:

- (void) handleEnterForeground: (NSNotification*) sender
{
    [self reloadTableData];
}


- (void)viewDidLoad
{
    [super viewDidLoad];
    [[NSNotificationCenter defaultCenter] addObserver: self
                                         selector: @selector(handleEnterForeground:)
                                             name: @"UIApplicationWillEnterForegroundNotification"
                                           object: nil];
}

但handleEnterForeground:函数调用两次,我不知道为什么。 该reloadTableData:函数调用远程web服务,所以当应用程序进入前台,它会停留一段时间。

Answer 1:

该系统会自动调用该事件。 它触发两次的原因是因为你手动重新启动它。

PS这是更好地使用变量名UIApplicationWillEnterForeground,而不是字面NSString的。

编辑:我现在认识的混乱,是因为我们来了,你不知道,这甚至名字已被接受。 作为一个纸条给谁碰上这种问题其他人,这是与您的项目前缀(即XYZEventNotification),以避免碰撞到您的前缀事件名称一个很好的做法。



文章来源: iOS app applicationWillEnterForeground and it stuck for a while