菜鸟教程小白 发表于 2022-12-12 17:06:30

ios - 如果我们从不使用分配指针,有什么办法可以访问已释放的对象?


                                            <p><p>实际上,我真的想不出<strong>任何原因</strong>,为什么会发生访问已释放对象的情况,无论是否有僵尸。如果引用是强引用,则不会释放对象。如果引用很弱,则在对象被释放时它会被取消。</p>

<p>我想如果人们使用分配指针可能会发生这种情况。但这样做是自找麻烦。</p>

<p>但是,有时我的应用确实会因以下消息而崩溃:</p>

<p>然而,应用程序确实崩溃并出现错误:消息发送到已释放的实例 0x189f09c0</p>

<p>我不知道为什么。</p>

<p>UIViewController 从 UINavigationController 中弹出会发生什么情况。然后它的 viewDidScroll 即将被调用。</p>

<p>但这很奇怪。 </p>

<p>我启用了僵尸。但是,不应该启用僵尸。这个答案清楚地表明,即使在使用 zomie 进行调试时,所有弱引用都会被取消</p>

<p> <a href="https://stackoverflow.com/questions/20418648/are-all-weak-references-nilled-if-we-enable-zombie-object/20418858?noredirect=1#20418858" rel="noreferrer noopener nofollow">Are all weak references nilled if we enable zombie object?</a> </p>

<p>那么发生了什么?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果你想找出被释放的实例并追踪它的生命周期(它被保留和释放的时间和地点),请参阅 <a href="https://stackoverflow.com/questions/7402171/calayer-release-message-sent-to-deallocated-instance/12055114#12055114" rel="noreferrer noopener nofollow">link</a> </p>

<p>对我帮助很大!</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如果我们从不使用分配指针,有什么办法可以访问已释放的对象?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/20419020/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/20419020/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如果我们从不使用分配指针,有什么办法可以访问已释放的对象?