以下是我的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;
}
首先,我甚至不知道我是否可以从这种方法中退回任何东西,所以如果我不能,请告诉我。
这就是我追求的目标:
- (void)viewWillAppear:(BOOL)animated {
if (_update == 1) {
[self runCellUpdates];
}
}
当我将ViewControllerB
弹出到A
时,我正在使用通知系统。首先会发生什么?...通知是否在viewWillAppear:
之前发送?如果没有,请问如何在updateTortoiseLevel:
内使用viewWillAppear:
?
不要提及“使用委托设计模式”,因为我已经考虑过了,但它对我当前的设计不起作用(至少95%肯定)。干杯
答案 0 :(得分:0)
首先,我甚至不知道我是否可以从这种方法中退回任何东西,所以如果我不能告诉我。
好的:你不能。想一想。谁在这称呼你?它是运行时,提供通知。因此,没有人可以将值返回到。运行时不会等到听到你是否有一个值作为响应回传,即使你做了,你认为运行时会用它做什么?在这种情况下返回值的概念毫无意义。
我如何使用updateTortoiseLevel:在viewWillAppear里面:如果有的话?
这个问题似乎毫无意义,但无论如何我的回答是:你为什么要这样做?您可能会收到带有通知的updateTortoiseLevel
消息,并且NSNumber包含在其中,所以为什么不做你想要做的任何事情当时那里在updateTortoiseLevel
内?