swift 默认的NotificationCenter属性究竟是什么?

fhg3lkii  于 2023-02-03  发布在  Swift
关注(0)|答案(1)|浏览(169)

我想创建一个额外的NotificationCenter示例来将我的内部通知与系统通知分开,但是,当我查看类实现时,我不明白我在查看什么。

open class NotificationCenter : NSObject {
    open class var default: NotificationCenter { get }
}

getter在哪里?default到底得到了什么?这是我所期待看到的:

extension NotificationCenter {
    static let default = NotificationCenter()
}

default属性是一个static单例,我们只是没有看到它,getter只是返回它?
为了实现我自己的自定义中心,我可以用下面的方式声明它吗?

extension NotificationCenter {
    static let custom = NotificationCenter()
}
wn9m85ua

wn9m85ua1#

NotificationCenter.default获取应用的默认NotificationCenter示例,该示例是单例示例。
iOS框架不是开源的,所以当您查看NotificationCenter.default的定义时,您看到的是它公开的接口,而不是实现,后者看起来可能非常像您期望看到的代码。
实际上,您可以使用NotificationCenter()创建自己的NotificationCenter示例

相关问题