我正在使用以下方式发送通知:
[[NSNotificationCenter defaultCenter] postNotificationName:@"historyLoaded" object:jsonReturn];
使用以下方式接收通知:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(manageHistory:) name:@"historyLoaded" object:nil];
然后选择器中的方法是:
- (void) manageHistory: (NSNotification *) historyData{
NSLog(@"this bit of code was run");
}
对于某些原因,通知无法通过。可以从应用程序的任何位置发送和接收通知吗?
答案 0 :(得分:1)
object
中的postNotification
参数应填充一个“发送”通知的对象,如果不一定指定发件人则为零。
如果您想传递一些信息,请使用postNotificationName:object:userInfo
并将信息放在userInfo
字典中。
答案 1 :(得分:0)
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(manageHistory) name:@"historyLoaded" object:nil];
[[NSNotificationCenter defaultCenter] postNotificationName:@"historyLoaded"
object:nil userInfo:jsonReturn];
- (void) manageHistory: (NSNotification *) historyData{
NSDictionary* _dict = historyData.userInfo;
NSLog(@"Your information embedded to dictiuonary obj %@",_dict);
}
注意:请确保您的historyData应该是postNotificationName中的字典对象