我认为这很容易,但事实并非如此。我在这里搜索stackOverflow并没有找到答案。我只想像变量一样创建NSNotification
。
我已经配置了监听器并且具有有效的功能。所以,如果我发送:
[[NSNotificationCenter defaultCenter] postNotificationName:@"name" object:nil];
这没有问题。但是,如果我在同一个地方尝试:
NSNotification *test = [NSNotification notificationWithName:@"name" object:nil];
[[NSNotificationCenter defaultCenter] postNotification:test];
它不起作用。我做错了什么?
修改
此错误出现在XCode中:
-[object function]: unrecognized selector sent to instance 0x190d90
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[object function]: unrecognized selector sent to instance 0x190d90'
修改2
是个错误。我不相信我开始这个问题。 @“name”中存在一个非常小的错误,它们在我的代码中有所不同,例如@"nname"
和@"name"
。
因为我学到了两件事:
postNotification
。只有在没有别的办法的时候。这很难调试,可能会导致错误。#define NAME @"name"
会为我节省大量时间。答案 0 :(得分:2)
对我来说,问题不在于您发布通知的方式,而在于您收听通知的方式。你可能已经告诉监听类调用一个不存在的选择器。