菜鸟教程小白 发表于 2022-12-12 22:14:11

iphone - 在不触发委托(delegate)方法的情况下更改 NSManagedObject 属性?


                                            <p><p>有什么方法(或技巧)可以修改委托(delegate) <code>NSFetchedResultsController</code> 当前持有的 <code>NSManagedObject</code> 而不会触发 <code>didChangeObject:</code> 和<code>controllerWillChangeContent:</code> 委托(delegate)方法?</p>

<p>例如,当前如果我更改 <code>myObject.property = @"hello";</code>,则会触发委托(delegate)方法并对我的 TableView 进行更新,但我不希望这种情况发生,但仅适用于我明确指定的某些更改,而不是所有更改。 </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p><code>NSManagedObject</code> 中的 <code>setPrimitiveValue:forKey:</code> 方法正是这样做的,例如</p>

<pre><code>
</code></pre>

<p>或者,使用动态生成的访问器方法:</p>

<pre><code>
</code></pre>

<p>但您应该阅读 <a href="https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObject_Class/Reference/NSManagedObject.html#//apple_ref/occ/instm/NSManagedObject/setPrimitiveValue%3aforKey%3a" rel="noreferrer noopener nofollow">documentation</a>这种方法,因为有一些“特殊考虑”。</p>

<p>另一种方法是创建 <a href="http://developer.apple.com/library/mac/#releasenotes/DataManagement/RN-CoreData/_index.html#//apple_ref/doc/uid/TP40010637-CH1-SW1" rel="noreferrer noopener nofollow">&#34;nested managed object context&#34;</a>并对该子上下文进行所有修改。只有在保存子上下文时,更改才会传播到父上下文。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 在不触发委托(delegate)方法的情况下更改 NSManagedObject 属性?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/11653939/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/11653939/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 在不触发委托(delegate)方法的情况下更改 NSManagedObject 属性?