菜鸟教程小白 发表于 2022-12-11 16:55:53

ios - 在 iOS 上从服务器缓存和加载数据


                                            <p><p>我正在使用 Realm 在 iOS 设备上缓存来自服务器的 JSON 响应,当我再次打开应用程序时,我应该显示缓存的数据,直到服务器给我一个新的 JSON 响应来加载。 </p>

<p>我知道它应该使用上次请求的时间戳发出请求,以检查是否有新的响应,但这还没有实现,服务器每次都向我发送 JSON 对象,如果它没有改变则事件.</p>

<p>现在,我要求在客户端处理缓存响应和来自服务器的响应的最佳实践。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果 JSON 响应具有标识每个对象的键,则最佳做法是使用主键更新对象。</p>

<p>要定义模型的主键,请覆盖 <code>primaryKey()</code> 类方法。</p>

<p>看,
<a href="https://realm.io/docs/swift/latest/#primary-keys" rel="noreferrer noopener nofollow">https://realm.io/docs/swift/latest/#primary-keys</a> </p>

<p>然后,当您缓存响应时,您可以使用 <code>add(update:)</code> 和 <code>update</code> 参数 <code>true</code> 。这允许您只添加到 Realm 的响应,无论是否存在。您可以每次下载响应,然后将其存储。 Realm 通过键查找现有值并更新它。您无需关心该值是否存在。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在 iOS 上从服务器缓存和加载数据,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/38258734/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/38258734/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在 iOS 上从服务器缓存和加载数据