2015-12-19 3 views
0

Короче, вот моя проблема:Обновления предыдущих видов при редактировании текущего вида

  1. Я иду от контроллера представления А в VC B
  2. Тогда из VC B в VC А.
  3. Loop 1 и 2 для нескольких раз. Все, нажав.
  4. Теперь я редактирую VC A (например, Liking на одном из своих сообщений) и сохраняю. Затем я возвращаюсь, нажимая кнопку «Назад». Я хочу увидеть изменения в VC A (например, количество понравившихся увеличивается в моем посте)

Это простой случай, когда у меня есть только 2 VC. Вы можете иметь много VC в цикле, и вы можете захотеть обновить другие VC, но не в цикле.

Один пример в приложении социальной сети, таком как Instagram, где вы можете перейти в свой профиль, список последователей, перейти к профилю sb, перейти в свой список следящих, перейти в свой профиль оттуда ... и так далее. Затем в конце вы делаете одно сообщение, и вы хотите обновить представление на вкладке «Главная», а также все представления в середине цикла, когда вы нажимаете кнопку «Назад».

Я знаю, что мы можем реализовать в 2 способами:

  1. В каждом ВК, в viewwillappear мы проверяем для обновления, а затем обновить. Недостатком является то, что он не будет работать в автономном режиме. И громоздко проверять везде.
  2. Использовать уведомление. В одном представлении с изменениями будут уведомлены другие виды для обновления. Но вы должны сами определять, какие представления будут принимать типы уведомлений и иметь несколько уведомлений, вызванных в вашем приложении, довольно грязно и трудно управлять.

Есть ли другие способы? Как вы работаете в своем приложении?

Мой вопрос больше о том, чтобы спросить архитектора, а не о кодировании, поэтому, пожалуйста, ответьте, предоставив решение, архитектуру и некоторый краткий анализ ее результата.

Этот вопрос предназначен как для iOS, так и для Android.

+2

Вы можете использовать метод 1 для достижения своей цели. Вы должны сохранить отдельную таблицу для обновления, и когда вы вернетесь к 1-му VC, проверьте содержимое таблицы обновлений с главной таблицей, а затем загрузите представление –

ответ

0

Мое предложение

Сохранить число подобных и идентификатор сообщения в NSUserDefaults и проверить в каждом контроллере представления в то время как ваш пост идентификатор совпадает со значением в NSUserDefaults приращение его вашим графа, как на пост в NSUserDefaults. Но в некоторый момент времени вы должны синхронизировать его с webservice.

+1

Правильная идея, но используйте правильную модель данных, не используйте NSUserDefaults – Paulw11

+0

Да, это мое решение 1. Я могу использовать coredata или sqlite для хранения данных об обновлениях. Никогда не используйте NSUserdefault для хранения таких данных. – grandagile

+0

Мне по-прежнему нужна информация о тех, кто реализовал решение 2 и посмотрел, как результат. Вы когда-нибудь реализовывали решение 2 @ Paulw11? – grandagile

Смежные вопросы