Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSNotification center如何管理it观察对象?_Ios_Swift_Memory_Swift4_Nsnotification - Fatal编程技术网

Ios NSNotification center如何管理it观察对象?

Ios NSNotification center如何管理it观察对象?,ios,swift,memory,swift4,nsnotification,Ios,Swift,Memory,Swift4,Nsnotification,在《老苹果》中,guid说: 例如,当您向通知中心注册对象时,通知中心将存储对该对象的弱引用,并在发布相应通知时向其发送消息。解除分配对象时,需要向通知中心注销该对象,以防止通知中心向不再存在的对象发送任何进一步的消息 在swift 4中,我们有两种观察方法: 1 NotificationCenter.default.addObserverobject,选择器: 2 NotificationCenter.default.addObserverforName:。。。带块 在第二种情况下,Notif

在《老苹果》中,guid说: 例如,当您向通知中心注册对象时,通知中心将存储对该对象的弱引用,并在发布相应通知时向其发送消息。解除分配对象时,需要向通知中心注销该对象,以防止通知中心向不再存在的对象发送任何进一步的消息 在swift 4中,我们有两种观察方法: 1 NotificationCenter.default.addObserverobject,选择器: 2 NotificationCenter.default.addObserverforName:。。。带块 在第二种情况下,Notification center捕获块并保留其中的所有内容,因此在使用self时应小心


我试图找到关于在1种情况下观察者对象是如何由notificaton center管理的信息,如果您不及时取消注册,它是否仍然得到弱引用,或者它被更改为强引用,并且可能导致内存泄漏?

根据以下文档:

如果你的应用目标是iOS 9.0及更高版本或macOS 10.11及更高版本,你不需要在dealloc方法中注销观测者。否则,您应该在取消分配observer或传递给此方法的任何对象之前调用removeObserver\ux:name:object:

由于调用了observer的dealoc,所以这里没有内存泄漏