菜鸟教程小白 发表于 2022-12-13 06:15:06

ios - RestKit - 删除未返回的对象


                                            <p><p>我正在寻找一种方法来删除 CoreData 中本地存在但不再从服务器的 JSON 响应返回的对象。我看过 <a href="http://restkit.org/api/latest/Classes/RKManagedObjectRequestOperation.html" rel="noreferrer noopener nofollow">Fetch Request Blocks and Deleting Orphaned Objects</a> ,但在我的情况下,对象没有父对象,所以我认为它对我不起作用。
就我而言,我不想删除孤立对象,因为它们从来没有父对象。我是否误解了示例中描述的概念?有没有办法进行类似的获取请求,收集所有本地记录并将它们与服务器返回的记录进行比较,或者我必须在 RestKit 完成映射后手动进行?</p>

<p>编辑:</p>

<pre><code>RKObjectManager *manager = ;
[manager addFetchRequestBlock:^NSFetchRequest *(NSURL *URL) {
    RKPathMatcher *pathMatcher = ;

    NSDictionary *argsDict = nil;
    BOOL match = tokenizeQueryStrings:NO parsedArguments:&amp;argsDict];
    if (match) {
      NSFetchRequest *fetchRequest = ;
      fetchRequest.predicate =
      fetchRequest.sortDescriptors = @[ ];
      return fetchRequest;
    }

    return nil;
}];
</code></pre>

<p>下面的例子正确吗?如果是这样,我在这里面临的问题是如何从服务器响应中获取 <code>ARTICLEIDS</code>?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>是的,你误解了<code>orphan</code>的意思。在这种情况下,这并不意味着该对象没有父对象,它只是意味着该对象没有在最近的请求中返回。 RestKit 的这一功能完全符合您的要求 - 搜索数据存储中的所有对象,删除刚收到的对象,删除剩余部分。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - RestKit - 删除未返回的对象,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/29471183/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/29471183/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - RestKit - 删除未返回的对象