這裏是我的方法,我的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:
之前發送通知?如果沒有,我怎麼能在viewWillAppear:
裏面使用updateTortoiseLevel:
?
不要提「使用委託設計模式」,因爲我已經考慮過了,但它不適用於我目前的設計(至少95%肯定)。乾杯
夠公平的,這就是我的想法。所以我可以在'viewWillAppear:'中使用傳入的'NSNumber'作爲條件檢查嗎?或者這也是一種死衚衕的情況? –
@AnthonyShintoluggenprog我不明白這個問題。在'viewWillAppear:'中,從哪個意義上來說有一個「傳入的NSNumber」?如果發佈通知(並且您已註冊接收它,大概是以調用'updateTortoiseLevel'的方式進行註冊的),則該號碼是傳入的。同樣,'viewWillAppear:'是運行時在自己有意義的時刻調用的東西 - 在這種情況下,因爲您的視圖正在出現。 – matt
看到我修改後的答案,因爲我開始能夠以朦朧的方式猜出你在哪裏可能會認爲你要這樣做...... – matt