菜鸟教程小白 发表于 2022-12-12 14:49:51

ios - CKRecordZoneID 是否需要每个用户唯一?


                                            <p><p>CloudKit 记录区是按用户创建的,还是适用于所有人?</p>

<blockquote>
<p>A <code>CKRecordZoneID</code> object uniquely identifies a record zone in a database. </p>
</blockquote>

<p>这似乎暗示它对每个人都有影响。</p>

<blockquote>
<p>A record zone ID distinguishes one zone from another by a name string and the ID of the user that created the zone. </p>
</blockquote>

<p>但是,ID 附加所有者名称这一事实听起来像是基于每个用户的?</p>

<p>我问的原因是我想知道我是否可以为应用程序创建一个 RecordZoneID 或者是否需要为每个用户存储它(在 <code>NSUserDefaults</code> 中)</p ></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>简短的回答是,区域名称只需要在用户私有(private)数据库中的其他区域中是唯一的。</p>

<p><code>CKRecordZoneID</code> 和区域名称之间存在细微但重要的区别。 </p>

<p><code>CKRecordZoneID</code> 在整个容器中必须是唯一的,但 <code>CKRecordZoneID</code> 不仅仅是区域名称。</p>

<p>如果您查看 <code>CKRecordZoneID</code>,您会发现它同时具有 <code>zoneName</code> 属性和 <code>ownerName</code> 属性。 <code>ownerName</code> 是当前用户的记录 ID(或 <code>CKOwnerDefaultName</code>,在将值发送到服务器之前,它会被真实的用户 ID 替换)。</p>

<p><code>zoneName</code> 和 <code>ownerName</code> 的组合在整个容器中必须是唯一的,但由于每个用户都有自己唯一的用户 ID(用于 <code>ownerName</code>) 您可以为每个用户创建一个具有相同 <code>zoneName</code> 的区域,并且不会产生任何冲突。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - CKRecordZoneID 是否需要每个用户唯一?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/29288271/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/29288271/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - CKRecordZoneID 是否需要每个用户唯一?