Фон
У меня есть приложение для iOS, которое извлекает данные с сервера и записывает их в файл с помощью NSFileManager, чтобы пользователю не приходилось снова получать данные с сервера каждый раз, когда они хотят посетить страницу. Данные, которые они получают, могут время от времени изменяться, поэтому я хотел бы обновить данные в файлах приложения, когда это произойдет.
Я использую php-страницы для своих веб-сервисов.
Вопрос
Какова техника проверки, изменились ли данные в моей базе данных, чтобы я знал, что мне следует обновить данные в приложении? Единственный способ, которым я могу думать, — это создать страницу php, которая проверяет, отличаются ли данные от того, что я хранил, но этот вид поражает цель сохранения информации в файлы в приложении. Я хочу свести к минимуму, когда пользователь общается с сервером, потому что в ситуациях, когда у пользователя нет службы, я все же хотел бы, чтобы были действительные данные, которые они могут видеть в приложении.
Пожалуйста, задавайте вопросы, если вы не до конца понимаете, чего я пытаюсь достичь. Спасибо!
Если вы хотите перечислить самые последние добавленные рестораны, например, вы можете:
Если вы хотите кэшировать вычисленные данные, как, например, 10 лучших ресторанов с рейтингом пользователей, вы можете:
NB: Если вычисления на стороне сервера дороги, вы можете подумать о более умном способе обнаружения изменений данных.
В этом случае вам необходимо определить свой идентификатор релиза на сервере и сохранить его в приложении. Например, когда вы вносите некоторые изменения в базу данных или происходит обновление со стороны сервера. Просто измените этот идентификатор выпуска с сервера.
На стороне IOS вы должны проверить этот идентификатор выпуска. Если идентификатор выпуска ios ниже, чем идентификатор сервера, обновите базу данных в локальном хранилище ios.