У меня есть приложение, которое требует Интернета для синхронизации веб-службы с локальным базовым данным db. Затем локальная выборка db используется для заполнения различных объектов для MapView и TableView в контроллере tabbar. Im, глядя на эти 2 сценария:Каков наиболее эффективный рабочий процесс для этого приложения iOS?
Основное преимущество «А» является то, что я не должен предварительно загрузить приложение с базой данных, хотя ее небольшой дб (около 100 записей). Проблема в том, что она запутана. Если интернет-соединение отсутствует, в MapView пользователь видит карту, но refreshButton отключен. Так что это не проблема. Но пользователь все равно может пойти в tableview, и он увидит пустую таблицу.
Основным преимуществом «B» является то, что при предустановленном db приложение всегда будет иметь источник данных, готовый к построению и распечатке. Я действительно не знаю, как предварительно загружать приложение с помощью db.
Я как бы хочу пройти первый маршрут «А». Мой главный вопрос заключается в том, что сейчас я отключил refreshButton на MapView, так что он работает только после получения данных из Интернета ... что sortedArray пуст при запуске. Поэтому, если пользователь переходит к TableVC, он будет пустым. В этом случае пользователь должен сначала нажать кнопку обновления, прежде чем перейти к представлению таблицы.
Что является самым эффективным способом борьбы с этим?
+1 приятное объяснение. – Dilip
Кромки, они настолько больны для кодирования, но они настолько важны для пользователя. Я думаю, что «А» - ваш лучший вариант (мое мнение). Вы можете заблокировать использование всего приложения с помощью «Вам нужно загрузить данные, получить подключение к Интернету», если у вас нет исходных данных + нет соединения. Вы можете написать код для обработки сценария «без данных» на каждом экране, к которому пользователь может перейти, когда у него нет данных. В большинстве таблиц содержится случай «без данных», который добавляет строку, которая информирует пользователя. Лучший ответ зависит от ваших вариантов использования и требований и, как правило, предвзято по личным предпочтениям. – DBD
Спасибо Dilip, я действительно хочу, чтобы был модуль xcode для обработки логики, чтобы показать вам, что это такое в соответствии с вашим кодом, потому что Im очень визуально. DBD, хотя я должен научиться кодировать сценарии первого запуска и т. Д., Я думаю, что у пользователя должно быть подключение к интернету. Я не настолько уверен в блокировании всего приложения, но по крайней мере сценарий «без данных». Хотя, это по сути то же самое, что блокирование всего приложения, потому что они не видят ничего, кроме оболочки. Опять же, в терминах UX, лучше позволить им что-то увидеть. Так что я был в тупике :(Думаю, мне нужно идти по жесткому маршруту. – marciokoko