我有一个基于Objective-C中的NSNotification的问题:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(method:)
name:@"SOME_STRING"
object:nil];
我真的不知道如何设置对象属性...
因此,如果我只想从A类接收通知,如何将其设置为A类?
[A class]
和
[A alloc]
没有工作。
我对对象参数非常困惑。
最佳答案
如果是nil
,那么您将收到所有发送的@"SOME_STRING"
通知。
如果不是nil
,则仅获得与传递给object
的实例有关的内容。
因此...这实际上不是“来自类A”的关联,而是与特定实例的关联。当实例匹配(观察和发布)时,将通知您。
有了这些信息,您可以将[A class]
返回的objc实例用作object
参数,以便接收您感兴趣的通知-看起来像这样:
观察:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(method:)
name:@"SOME_STRING"
object:[A class]];
^^^^^^^
发布:
[[NSNotificationCenter defaultCenter]
postNotificationName:@"SOME_STRING" object:[A class]];
^^^^^^^
关于objective-c - iOS/Objective-C:NSNotification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12050039/