菜鸟教程小白 发表于 2022-12-12 18:05:44

ios - 没有上下文的CoreData关系设置?


                                            <p><p>我有两个 <code>NSManagedObject</code> 子类。 <code>Flight</code> 和 <code>Aircraft</code>。每个 <code>Flight</code> 都与一个 <code>Aircraft</code> 相关联。</p>

<p>当用户在创建<code>Flight</code>时,我只做以下事情:</p>

<pre><code>NSEntityDescription *entity = ;
      self.flight = [ initWithEntity:entity insertIntoManagedObjectContext:nil];
</code></pre>

<p>创建对象但不要将其插入到 <code>managedObjectContext</code> 中,直到用户确定他们想要保存它。如果他们保存,我插入对象,如果他们取消,它被丢弃。</p>

<p>到目前为止,这是一个很好的解决方案。当用户选择一个 <code>Aircraft</code> 时,我会这样做:</p>

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

<p>但是,由于 <code>flight</code> 对象尚未插入到 <code>managedObjectContext</code> 中,因此应用程序崩溃并出现以下错误:</p>

<pre><code>Terminating app due to uncaught exception &#39;NSInvalidArgumentException&#39;, reason: &#39;Illegal attempt to establish a relationship &#39;aircraft&#39; between objects in different contexts
</code></pre>

<p>这是有道理的。如果我在 <code>flight</code> 对象创建后立即插入它,则不会发生此错误。但随之而来的问题是,如果用户取消并且不再需要此飞行对象怎么办?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>为什么不只使用一组父子上下文。继续在子上下文中插入所有内容。如果用户最终选择“保存”,请先在子上下文(然后也是父上下文)上调用 save: 选择器。如果用户最终选择“取消”,则在子上下文中调用 rollback: selector。</p>

<p> <a href="http://www.cocoanetics.com/2012/07/multi-context-coredata/" rel="noreferrer noopener nofollow">http://www.cocoanetics.com/2012/07/multi-context-coredata/</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 没有上下文的CoreData关系设置?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/21217789/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/21217789/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 没有上下文的CoreData关系设置?