菜鸟教程小白 发表于 2022-12-11 19:36:25

ios - 优化 CKFetchRecordZoneChangesOperation 以获取所需键


                                            <p><p>在我的 CloudKit 应用程序中,我在存储所有 CKRecord 的私有(private)数据库中创建了一个区域。 CKRecords 可以是 10 种不同的记录类型,其中一些可以附加 CKAsset。我使用 <code>CKFetchRecordZoneChangesOperation</code> 来查找该区域中的记录更改,并下载它们。我想优化<code>CKFetchRecordZoneChangesOperation</code>,使我在下载中只包含<code>desiredKeys</code>,所以我当时没有下载CKAsset,但是好像没有任何方式来指定每个记录类型。相反,您似乎只能在 zoneID 上设置的 <code>CKFetchRecordZoneChangesOptions</code> 上指定 <code>desiredKeys</code>。</p>

<p>那么,考虑到该区域中有不同类型的记录类型,我如何在 <code>CKFetchRecordZoneChangesOperation</code> 提取中指定“desiredKeys”?我在这里错过了一些简单的东西吗?
我猜的另一个(极端)选项是为每种记录类型创建一个记录区域,但如果有可能的话,我不想走这条路。</p>

<p>谢谢。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>唯一的选择是为每种记录类型添加字段名称的前缀。这样就可以为每种记录类型指定所需的键。</p>

<p> <a href="https://developer.apple.com/reference/cloudkit/ckfetchrecordzonechangesoptions/1640472-desiredkeys" rel="noreferrer noopener nofollow">https://developer.apple.com/reference/cloudkit/ckfetchrecordzonechangesoptions/1640472-desiredkeys</a>状态:</p>

<blockquote>
<p>var desiredKeys: ?</p>

<p>...</p>

<p>Because the records you fetch can be of different types, the array <strong>should contain the merged set of all field names</strong> for the requested records and include at least one field name from each record type.</p>

<p>...</p>
</blockquote>

<p>您的观察是正确的。您也无法获取特定于记录类型的区域更改。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 优化 CKFetchRecordZoneChangesOperation 以获取所需键,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/43746117/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/43746117/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 优化 CKFetchRecordZoneChangesOperation 以获取所需键