我正在構建一個程序,該程序使用NSNotification
,因爲我希望能夠通過另一個類來傳遞信息,這將影響另一個類中變量的值。NSNotification - 不通過不同類的信息
所以,我已經設置了以下內容:
categories.m
類:
在viewDidLoad
:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateTheScore:)name:@"TheScore" object:nil];
在同一類
,我updateTheScore
功能:
- (void)updateTheScore:(NSNotification *)notification
{
NSLog(@"Notification Received. The value of the score is currently %d", self.mainScreen.currentScore);
[[NSNotificationCenter defaultCenter]removeObserver:self];
}
在mainScreen.m
:
self.currentScore++;
[[NSNotificationCenter defaultCenter]postNotificationName:@"TheScore" object:self];
在通常情況下的得分將更新從0到1
程序將正確調用notification
,因爲我可以看到我正在執行NSLog
。但是,變量的值沒有通過,這就是我卡住的地方。
任何人都可以請考慮一個解決方案,爲什麼我的變量值不通過?
爲了澄清,如果我在postNotificationName
行之前做了一個NSLog,以顯示self.currentScore;
的值,則返回1,如預期的那樣。在updateTheScore
功能,它returns 0
。
在此先感謝大家。
我沒有看到你更新得分,我只看到您打印比分追成NSLog的... – NSDmitry