首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Siesta-Swift:有没有办法知道Resource.latestData是否发生了变化?

Siesta-Swift:有没有办法知道Resource.latestData是否发生了变化?
EN

Stack Overflow用户
提问于 2018-06-03 04:58:11
回答 1查看 77关注 0票数 0

我的代码如下所示:

代码语言:javascript
复制
let myAPI = Service(baseURL: "...")
myAPI.resource("/...").addObserver(owner: self) { resource, event in
}

如果URL总是返回200 (不是301),有没有办法检查resourceevent是否数据本身、json-content发生了变化,或者是否相同?

我希望实现这样一种行为,即应用程序在后台执行加载,并且只有在JSON本身发生更改时才触发UI操作。

EN

回答 1

Stack Overflow用户

发布于 2018-06-07 12:15:07

Siesta目前不支持这一点。在一般情况下,它不能自动这样做,因为对于每种类型的资源内容,没有普遍有效的“更改”定义。(即使资源内容是Equatable,并且恰好与您想要的“已更改”的定义相匹配,是否应该在相等的概念中包含一些头文件?哪几个?)

304是一条很好的亮线:服务器,资源的真实性仲裁者,声明它在语义上没有变化-以及所有API特定的关于“没有变化”含义的规则都存在于服务器上。

然而,这看起来确实是一件很好的事情,能够进行定制。如果你想看到它的实现,我建议你提交一个问题。

同时,您可以手动完成:使您的资源有效负载符合Equatable,并在资源观察器中检查它。如果你有性能敏感的更新,使用这种形状的方法有时会更有意义,因为你可以检查部分更改(例如,只有集合中的一些元素发生了更改)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50661105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档