sách gpt4 ai đã đi

cocoa - 何时创建自定义 NSNotificationCenter?

In lại 作者:行者123 更新时间:2023-12-03 16:01:37 26 4
mua khóa gpt4 Nike

我一直在研究 NSNotificationCenter,我一直想知道您什么时候会使用自己的自定义通知中心而不是 defaultCenter?这样做的好处是什么?

请原谅我的无知,但似乎仅使用 defaultCenter 就可以很愉快地相处,但我想确保我没有错过一些重要的东西。

1 Câu trả lời

Apple 文档含糊不清,它只是指出程序员通常不需要创建新文档:

Each running Cocoa program has a default notification center. You typically don’t create your own. An NSNotificationCenter object can deliver notifications only within a single program.

完整来源:NSNotificationCenter documentation .

但是,每个通知中心都可以处理按名称和对象区分的通知网络。当您添加观察者时,您通常会以如下方式调用该方法:

[center addObserver: self selector: @selector(observe:) name: @"observe" object: someObject];

当您发布通知时,您可以指定对象:

[center postNotificationName: @"observe" object: someObject];

这样说你使用N个名字和M个对象,你可以处理N*M个区分通知。我认为没有必要使用两个通知中心。理论上,如果您完成了所有名称,您可以使用 alloc+init 创建另一个名称,但我几乎看不出它实际上如何变得方便。

还要考虑到,当有两个对象不拥有指向彼此的直接指针时,通常会使用通知中心(否则为什么不简单地调用它的方法?),因为可以避免复杂的绑定(bind)(特别是当您使用很多 xib 文件),因此拥有一个独特的通知中心对象非常方便。

如果您使用通过allot+init获得的通知中心,那么您必须确保所有通信对象都有指向该通知中心的指针,这会增加一些复杂性。所有通知中心的电量都会被浪费。

关于cocoa - 何时创建自定义 NSNotificationCenter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17047416/

26 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com