如何在 viewWillAppear 中使用从 NSNotification 接收到的对象:

How to use object received from NSNotification in viewWillAppear:

这是我的 ViewControllerA 作为 NSNotification 系统的一部分实施的方法:

- (NSInteger)updateTortoiseLevel:(NSNotification*)notification {
    _updateValue = 0;
    if ([notification.name isEqualToString:@"gameToTortoise"]) {
        NSNumber* update = [notification.userInfo objectForKey:@"gameToTortoise"];
        updateValue = [update integerValue];
    } else {
        // do other things
    }
    return _updateValue;
}

首先,我什至不知道我是否可以 return 从这种方法中得到任何东西,所以如果我不能,请告诉我。

这是我想要的:

- (void)viewWillAppear:(BOOL)animated {
    if (_update == 1) {
        [self runCellUpdates];
    }
}

当我弹出 ViewControllerBA 时,我正在使用通知系统。首先会发生什么?...是否会在 viewWillAppear: 之前发送通知?如果没有,我怎么能在 viewWillAppear: 中使用 updateTortoiseLevel: 呢?

不要提及 "use delegate design pattern instead",因为我已经考虑过了,但它不适用于我当前的设计(至少有 95% 的把握)。干杯

First off, I don't even know if I can return anything from this type of method, so let me know if I can't.

好的:你不能。想想看。谁在这里叫你?这是 运行时,发送通知。所以没有人给你return一个值。运行时不会等着听你是否有一个值要返回作为响应,即使你有,你认为运行时会用它做什么?在这种情况下 returning 一个值的概念是没有意义的。

how can I use updateTortoiseLevel: inside viewWillAppear: if at all?

这个问题看似毫无意义,但无论如何我的回答是:你为什么要?您可能会收到带有通知的 updateTortoiseLevel 消息和其中包含的 NSNumber,那么您为什么不立即 做任何您想做的响应呢? ]里面updateTortoiseLevel?