菜鸟教程小白 发表于 2022-12-12 15:09:45

ios - 有没有办法检查 NSManagedObject 是否被释放?


                                            <p><p>我在使用 CoreData 时出现错误:</p>

<p><code>对象 0x7fcadbb48b68 错误:已释放对象的校验和不正确 - 对象可能在被释放后被修改。</code></p>

<p>确实,我知道为什么...我从 <code>NSFetchedResultsController</code> 中删除了显示在 <code>tableView</code> 中的对象。为了避免这种情况,我需要检查它是否被释放,而不是删除它。如何做到这一点?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>根据 <a href="https://developer.apple.com/library/ios/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObject_Class/index.html#//apple_ref/occ/instp/NSManagedObject/managedObjectContext" rel="noreferrer noopener nofollow">Apple&#39;s documentation</a> ,您可以检查'managedObjectContext'是否存在。</p>

<pre><code>if (YourNSManagedObject.managedObjectContext == nil) {
    NSLog(@&#34;Hey I&#39;m already freed, what are you doing with me. don&#39;t use me&#34;);
}
</code></pre>

<p> <img src="/image/ClxOW.png" alt="enter image description here"/> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 有没有办法检查 NSManagedObject 是否被释放?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/30076397/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/30076397/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 有没有办法检查 NSManagedObject 是否被释放?