我正在使用大型数据库,我需要我的应用程序能够脱机工作。
我是iOS开发人员的新手,我从书中读过很多教程,但仍然没有经验。
我的设置是:
PHP& MySQL Webserver
仅在局域网中使用,不在线上网。
我的应用应该是:
从服务器下载最新内容并存储到设备内存(或其他任何内容)
能够在设备离线时对我下载的数据进行CRUD(这是因为当用户不在Wifi区域时,所以我计划让它离线)
< / LI>在Wifi区域,我可以将我的更改更新回服务器
我的第一个计划是:
从PHP服务器通过JSON格式检索我的数据并将其存储到iOS Core Data,然后通过NSUrl post或者其他东西将更改上传回服务器..我不确定
我的第二个计划是:
我想将MySQL转换为SQLite,因此它应该是1个文件并将其下载到iOS,因此工作负载在服务器上,而不是在iOS设备上,并使用相同的NSUrl将其发布回服务器并更新它。
我的应用流程应该是这样的:
开始:
...
检查是否需要上传任何数据?
1.1是,上传数据:转到:2
1.2否:转到:2
将数据库下载到设备存储器中。
用户登录。
...
我想我应该继续我的第二个解决方案,我认为从MySQL转换到SQLite并不是很难做到但是我如何检查iOS设备何时询问该文件并且不知道该文件完成了转换?
或
有更好的方法吗?
答案 0 :(得分:1)
您应该将数据库作为json数组下载,将其写入本地sqlite数据库并将更改同时写入另一个表。当您需要上传更改时,请从仅包含更改的重复表中读取并更新服务器上的mysql数据库。你可以使用FMDB(见下文)来帮助ios上的sqlite。