如何在iPhone应用程序Web服务请求中检查服务器端更新

时间:2010-06-14 10:43:48

标签: iphone web-services iphone-sdk-3.0

我有一种iPhone应用程序的列表应用程序,它总是将一个Web服务调用到我的php服务器并获取数据并将其显示在iPhone屏幕上。

现在,在这种情况下需要考虑的是,我的iPhone应用程序每次都在服务器上请求并获取数据。

但是现在我的要求就像我想用上面的一个替换以下一组操作:

  

- >每当我的应用程序在iPhone上启动时,它应该检查   对于服务器上的新数据。

     

- >如果服务器回复“true”,那么只有我的iPhone应用程序才能生成   请求获取数据。

     

- >如果是“false”,我的iPhone应用程序将显示数据   已经缓存在本地电话中   存储器中。

现在要在服务器端(有php,mysql)实现这个场景,我正在计划以下解决方案:

Table : tblNewerData

id newDataFlag
== ============
1      true

触发器:tgrUpdateNewData

以上触发器将更新tblNewerData - > newDataFlag字段在我主表的Insert case上。

每次我的iPhone应用程序都会请求tblNewerData-> newDataFlag字段,如果发现为true,则只会创建新请求,如果发现为false,则会显示缓存版本的数据。

所以,我想知道,这是正确的方法吗?或者其他任何智能选项?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您应该考虑将该字段改为计数器。每次对数据库进行任何更改时,计数器都会增加。

现在,当iPhone连接时,它会将当前计数器与之前提取的计数器进行比较。如果计数器已更改,它将获取更新的数据。