Moxy хороший инструмент. Разобраться в том как она работает — дело нескольких часов. Она решает одну проблему (жизненный цикл) и делает это хорошо. Что ещё нужно?)
Поздравляю, вы изобрели Moxy :) habrahabr.ru/post/276189
Только она ещё и ViewState генерирует за вас.
Попробуйте, вам понравится.
В ней не реализовано разве что сохранение ViewState в Bundle. Но это вполне логично, т.к. вьюха должна отображать то состояние, о котором ей сообщил презентер. Если у вас после убийства системой ViewState восстановится, он не будет соответствовать текущему состоянию презентера. То если, появляется необходимость ещё следить обязательно за ним и сохранять в бандл если необходимо.
Если эта фича (сохранение в бандл) включена по умолчанию — это опасный подводный камень, т.к. допускает рассинхронизацию вьюхи и презентера после восстановления приложения.
Я вкурсе как работают эти скрипты, использую их давно, спасибо. Чтобы найти различия между оригинальными и вашими я сделал следующее:
1. Слил репозиторий https://github.com/pristineio/webrtc-build-scripts
2. Слил ваш репозиторий
3. Скопировал все файлы из вашего репозитория в оригинальный.
4. Сделал git diff.
5. Увидел всего два изменения — QTKit и добавленный файл .podspec, который, как я подозреваю, никакого отношения к сборке не имеет.
В связи с этим вопрос — о каком вашем репозитории вы толкуете?
Не совсем понял, что именно вы сделали. В вашем репозитории лежат всего лишь скрипты для сборки приложения, точная копия оригинального репозитория компании Pristine (https://github.com/pristineio/webrtc-build-scripts) причём не самой последней версии, ибо у вас в зависимостях на платформе OS X ещё присутствует QTKit, который был удалён в марте.
Можно ссылку на ваши пулл-реквесты в репозиторий webrtc? Интересно было бы посмотреть, вдруг ваши предложения ещё и на Android улучшат ситуацию, у нас тоже не всё гладко.
Только она ещё и ViewState генерирует за вас.
Попробуйте, вам понравится.
В ней не реализовано разве что сохранение ViewState в Bundle. Но это вполне логично, т.к. вьюха должна отображать то состояние, о котором ей сообщил презентер. Если у вас после убийства системой ViewState восстановится, он не будет соответствовать текущему состоянию презентера. То если, появляется необходимость ещё следить обязательно за ним и сохранять в бандл если необходимо.
Если эта фича (сохранение в бандл) включена по умолчанию — это опасный подводный камень, т.к. допускает рассинхронизацию вьюхи и презентера после восстановления приложения.
1. Слил репозиторий https://github.com/pristineio/webrtc-build-scripts
2. Слил ваш репозиторий
3. Скопировал все файлы из вашего репозитория в оригинальный.
4. Сделал git diff.
5. Увидел всего два изменения — QTKit и добавленный файл .podspec, который, как я подозреваю, никакого отношения к сборке не имеет.
В связи с этим вопрос — о каком вашем репозитории вы толкуете?
Можно ссылку на ваши пулл-реквесты в репозиторий webrtc? Интересно было бы посмотреть, вдруг ваши предложения ещё и на Android улучшат ситуацию, у нас тоже не всё гладко.