gpt4 book ai didi

ios - 剂量NSNotificationCenter通过观察者添加订单来发送通知吗?

转载 作者:行者123 更新时间:2023-12-01 19:44:25 24 4
gpt4 key购买 nike

将观察者添加为:

dispatch_async(dispatch_get_global_queue(0, 0), ^{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(method1) name:UIApplicationDidEnterBackgroundNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(method2) name:UIApplicationDidEnterBackgroundNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(method3) name:UIApplicationDidEnterBackgroundNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(method4) name:UIApplicationDidEnterBackgroundNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(method5) name:UIApplicationDidEnterBackgroundNotification object:nil];
});

当应用程序进入后台时,我将其称为添加顺序:
[method1 called]
[method2 called]
[method3 called]
[method4 called]
[method5 called]

我知道一个方法会在线程中调用通知,我在哪里可以找到观察者首次添加到NSNotificationCenter时将首先接收通知的剂量?

最佳答案

NSNotificationCenter在数组中维护其观察者,该数组在每次发布通知时进行迭代。因此,观察者将按照添加顺序执行,就像您在实验中看到的那样。但是,这是一个实现细节,没有记录或保证的行为。如果您需要按特定顺序调用方法,那么NSNotificationCenter不是正确的工具。您应该创建自己的调度程序,以所需的顺序调用事物,并使其遵循NSNotificationCenter

关于ios - 剂量NSNotificationCenter通过观察者添加订单来发送通知吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50284643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com