gpt4 book ai didi

ios - ARC - 当 UIViewController 设置为 nil 时,是否处理手势识别器和 KVO?

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:16:13 25 4
gpt4 key购买 nike

我的问题很简单:当 UIViewController 设置为 nil 时,手势识别器和 KVO 是否被清除?

我有一个项目,用户可以在其中创建和删除一些复杂的基于 UIViewController 的实例。这些存储在 NSMutableArray 中。

如果我只是从数组中删除实例,然后将其设置为 nil(我猜这是多余的),实例的所有 @properties 都会被清除吗(假设没有其他对它们的引用)?

编辑当我不管理 KVO 时,我会收到下面的警报(错误)——所以我想答案是“否”

An instance 0xce26d40 of class Track was deallocated while key value observers were still registered with it. Observation info was leaked, and may even become mistakenly attached to some other object. Set a breakpoint on NSKVODeallocateBreak to stop here in the debugger. Here's the current observation info: ( Context: 0x0, Property: 0x7530300> Context: 0x0, Property: 0x75320f0>

最佳答案

对象拥有它的“@properties”(假设它们是strongretain)。 View 拥有添加到它的任何手势识别器。因此,当对象被释放时,它的属性和识别器将被释放,如果没有其他人拥有它们,它们将被释放。

键值观察者和通知观察者在被释放之前需要手动取消订阅。

关于ios - ARC - 当 UIViewController 设置为 nil 时,是否处理手势识别器和 KVO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9911570/

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