gpt4 book ai didi

iphone - 添加观察者:名称

转载 作者:行者123 更新时间:2023-11-28 19:11:01 27 4
gpt4 key购买 nike

我正在使用这样的 addObserver:

[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(notificationReceived:) name:nil object: nil];

一切正常,但我认为当我不再需要它时删除观察者可能是一种很好的形式......我发现我需要使用这一行:

[[NSNotificationCenter defaultCenter] removeObserver:self name:@"observerName" object:nil];

问题是,当我更改我的 addObserver 行以包含名称以便 removeObserver 知道要删除哪个观察者时,不再调用通知。此行已运行但在添加名称时被忽略:

[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(notificationReceived:) name:@"observerName" object: nil];

我可以将名称重新设置为 nil,它又可以工作了。有人知道我在这里做错了什么吗?

谢谢!

最佳答案

我认为您可能误认为参数的含义。

name: 告诉系统您希望收到哪些通知。

self 是实际的观察者,因此当您removeOberserver:self 时,您将停止接收任何 通知。

你应该再仔细阅读一下文档,到底是什么意思:

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html#//apple_ref/doc/uid/20000219-SW1

有关示例,请参阅 How to create a class to send and receive events through NSNotificationCenter in Objective-C?

关于iphone - 添加观察者:名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15504022/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com