2015-03-01 1 views
0

Я использую синтаксический анализ как сервер для моего приложения iOS. Один из основных компонентов приложения - когда пользователь обновляет свою информацию, я хочу, чтобы эта новая информация была доступна их друзьям. Прямо сейчас единственный способ сделать это - запустить запрос с текущей информацией друга и посмотреть, соответствует ли это информации другу. Тем не менее, я хочу запустить запрос для всех друзей, так как это займет некоторое время. Есть ли более быстрый способ достичь этого.проанализировать запрос, чтобы узнать, изменилась ли информация друга.

В качестве примера Стартовой информации пользователя: Имя: Любимого цвета: Друзья: Daniel345 Daniel Синего Дэвид

, а затем пользователь изменяет информацию, которая будет пользователя: Имя: Любимый цвет: Друзья: Daniel1345 Daniel Green David

Как я могу структурировать запрос, чтобы информация друга Дэвида была обновлена, чтобы показать, что новый любимый цвет Daniels зеленый?

+0

Думаю, я должен был спросить об этом первым; Как именно вы уведомляете друзей? Скажите с помощью push-уведомления? С уведомлением в приложении. Просто, когда многочисленные Дэвидс войдут в систему, они просто увидят обновленную информацию в главном хабе. В таблицеView? – soulshined

ответ

1

Я рекомендую вам выполнить этот запрос, чтобы узнать, изменило ли пользователь какое-либо значение, а не конкретное.

Вы можете сделать следующее:

1) Когда пользователь (user1) добавляет друга (user2), чтобы это круги добавить (user2) идентификатор этого друга в таблицу всех друзей.

1.1) В этой таблице вы можете добавить столбец «обновленный». Он будет представлять, если данные этого пользователя (user1) обновляются в приложении user (user1).

1,2) таблица должна выглядеть примерно так (пользователь (указатель), друг (указатель), обновленный (номер))

2) Когда один из пользователей (user1) друзей изменения (обновления) это данные вы можете изменить логическое значение (обновленное) в списке друзей.

2.1) Вам нужно будет сделать это со всеми его друзьями.

3) Для того, чтобы принести на все друг, которые изменили свои данные просто получить все друг, что «обновленные» значение равно 1

В принципе, каждый раз, когда пользователь извлекает все эти друг, которые изменили свои данные вы возвращаете все «обновленные» значения обратно на 0. Если пользователь не извлекал данные, а один друг меняет его данные дважды, ничего не происходит, значение остается равным 1 (подумайте об этом значении, чтобы дать понять, что у вас есть обновление в одном/некоторых из ваших друзей)


+0

Итак, когда пользователь меняет свою информацию во второй раз после того, как ранее изменил свою информацию, что означает значение Boolean? – soulshined

+0

Каждый раз, когда пользователь извлекает все его друзья, которые изменили свои данные, вы возвращаете все «обновленные» значения обратно на 0. Если пользователь не извлекал данные, а один друг меняет данные дважды, ничего не происходит, значение остается 1 (Подумайте об этом значении, чтобы сообщить, что у вас есть обновление у одного/некоторых ваших друзей) – YuviGr

+0

Это был не вопрос, а больше стимул для обновления вашего ответа, чтобы он приносил пользу всем. Неплохая работа.хотя я предпочитаю держать в пределах того, что синтаксический анализ уже дал нам, как 'whereKey: equalTo:' или 'whereKey: notEqualTo:' это означает, что вам действительно не нужно ничего восстанавливать обратно на бэкэнд, используя только то, что уже предусмотрено, и держит его просто. – soulshined