菜鸟教程小白 发表于 2022-12-13 03:17:04

ios - iCloud Core 数据加载第二台设备的初始数据


                                            <p><p>根据 Apple 的最新文档,我的应用程序使用 Core Data 和 iCloud,并且运行良好。我不管理/不理解的是:</p>

<p>安装应用程序后,将设置数据库并填充一些初始数据。这适用于第一个设备。 </p>

<p>一旦在 Core Data 中设置了数据库并且应用程序将安装在第二台设备(相同的 iCloud 帐户)上,我需要避免再次加载初始数据。所以我的想法是,我怎样才能确定数据库是否已经在 iCloud 中可用?</p>

<p>我搜索了很多,发现了很多讨论,但至少没有一个适合 iOS 7 和 8 的解决方案(除了以后删除我不想要的重复记录的可能性之外)。</p>

<p>请让我知道您的想法,非常感谢任何建议(或我没有找到的链接)!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您不能只设置一个 bool 值来检查初始数据,因为 bool 值也需要同步,您可能无法及时获取。您也无法检查初始数据,因为它还需要同步并且可能无法及时到达。</p>

<p>但有几种可能性。</p>

<ul>
<li><p>将初始数据放在一个单独的不同步的持久存储文件中。您可以拥有多个存储文件,并且可以将它们全部添加到持久存储协调器中。将初始数据放在一个未同步的存储文件中,并将所有其他数据放在一个单独的同步文件中。由于初始数据不会同步,因此不会有任何重复。您不能建立从一个商店文件到另一个商店文件的关系,但您可以使用获取的属性来获得类似的东西。</p></li>
<li><p>继续将所有数据放在同一个文件中,但过滤掉重复项。一切都在一个地方,重复是不可避免的,但你可以处理这个问题。您最终要等到重复出现,找到它们并删除它们。需要这样做有点烦人,但如果您将所有内容放在同一个持久存储中,这确实是唯一的方法。我刚才在 <a href="http://www.atomicbird.com/blog/icloud-complications-part-2" rel="noreferrer noopener nofollow">a blog post at my site</a> 中描述了这个过程。其中详细介绍了如何有效地做到这一点。</p></li>
</ul></p>
                                   
                                                <p style="font-size: 20px;">关于ios - iCloud Core 数据加载第二台设备的初始数据,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26872875/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26872875/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - iCloud Core 数据加载第二台设备的初始数据