首先,在这个问题上,我并没有对任何数据库抱怨,只是我不知道并需要改进自己。
我开发了一个包含coredata的应用程序,它有近5到6个表,例如工作,员工等等。现在好几点关于coredata。
所以现在每30分钟我必须创建一个包含表格数组的JSON,该表格应该获取用户在这30分钟内执行的最新数据库记录,如添加更新删除所以我需要一种机制,我可以同步我的服务器和服务器的数据也确定需要添加或更新或删除此行。
我尝试过几次以下的可能性,但仍然没有取得完美的成功
所以我需要来自这个社区的建议。 感谢。
答案 0 :(得分:2)
您的服务器可能需要CRUD(创建,读取,更新,删除)类型的API。请求应在脱机时排队并重复发送,直到收到有效响应,服务器应正常处理重复请求。
要处理add,您可以使用一些参数调用类似'createJob'的方法,并从服务器接收一个id,然后您可以使用它来填充job_id字段。
要处理服务器端所做的更改,您基本上需要一个本地存储的“上次更新”时间戳,您将与服务器同步并提供您之前收到(和存储)的最新时间戳或零(从未收到过的时间戳) )。然后,服务器将返回此时间点之后已更改的所有内容以及应用程序下次需要发送的新时间戳(上次更改)。响应应包含足够的信息,以便更新当前状态并解决任何冲突。
要解决已删除的状态,您的记录可能会有一个“隐藏”标志,表明它是否已被删除(这称为“软删除”),这有助于引用完整性,但如果您确定可以一旦从服务器收到有效的“deleteJob”响应,就可以清除记录而不破坏任何关系。
如果没有设计您的解决方案,我无法提供更多帮助。但是,有各种工具可以帮助经验不足的开发人员处理这个过程,例如RESTKit。在服务器端,您可以查看轨道上的Node.js或ruby或者为您处理REST的任何其他内容。
您可以使用不同的HTTP方法来实现此目的,而无需使用RFC2616中定义的多个端点。