所以我的目标是使用NSNotificationCenter
向另一个班级发送通知,我还希望将通知object
传递给另一个class
,我该怎么做?
答案 0 :(得分:7)
您必须先注册通知名称
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(startLocating:) name:@"ForceUpdateLocation" object:nil]; // don't forget the ":"
然后发布带有参数字典的通知
[[NSNotificationCenter defaultCenter] postNotificationName:@"ForceUpdateLocation" object:self userInfo:[NSDictionary dictionaryWithObject:@"1,2,3,4,5" forKey:@"categories_ids"]];
,方法将是
- (void)startLocating:(NSNotification *)notification {
NSDictionary *dict = [notification userInfo];
}
答案 1 :(得分:0)
只需调用here所述的任何发布通知的方法,例如:
发布通知:
-(void)postNotificationName:(NSString *)notificationName
object:(id)notificationSender
userInfo:(NSDictionary *)userInfo;
其中userInfo
是包含有用对象的字典。
另一方面注册通知:
-(void)addObserver:(id)notificationObserver
selector:(SEL)notificationSelector
name:(NSString *)notificationName
object:(id)notificationSender;
您还可以查看Apple的Notification Programming Topics。