100 / 79 / 9
Регистрация: 03.08.2014
Сообщений: 447
|
|
1 | |
Миграция из Android в iOS17.05.2020, 16:33. Показов 1571. Ответов 2
Метки нет (Все метки)
Всем привет!
Из-за этого вируса образовалась масса свободного времени, которое решил использовать с толком. Т.е. начать разработку под iOS. железо есть и опыт в разработке мобильных приложений тоже есть (почти 10 лет для Android). Взял одно из своих приложений средней сложности, в котором около 20 экранов и сетевое взаимодействие с внешней базой данных на сервере. Решил его портировать под iOS с пользой и с обучением. Практически сразу столкнулся с одной проблемой, скорее, непониманием идеологии работы iOS приложений. Уже второй день никак не могу найти адекватного решения. Приложение начинается с заставки (Splash screen), во время показа которой проверяется доступность внешнего сервера данных. Если коннект есть, то идет переход на основной экран. Если сервер недоступен, но на заставке выводится сообщение об этом, предлагается проверить подключение к интернет и перезапустить приложение. В ios приложении пытаюсь сделать по аналогии. Знаю, знаю, что launch screen просто статика. Поэтому после него вывожу экран, в котором реализую данный функционал. Но вот тут и засада. Если в андроиде я могу вызвать другую активити и завершить текущую, то в ios у меня так не получается. Забыл сказать, что работаю с SwiftUI. Пытался сделать через navigation, но тогда создается как бы дочернее окно первого окна. А по логике приложения первое окно в текущей сессии работы с приложением больше вообще не потребуется. Подскажите, как в ios реализуются такие алгоритмы?
0
|
17.05.2020, 16:33 | |
Ответы с готовыми решениями:
2
Миграция из Eclipse в Android Studio Qt: Android и iOS Android vs IOS android и ios |
1 / 1 / 0
Регистрация: 27.09.2013
Сообщений: 30
|
|
06.11.2020, 21:42 | 2 |
SwiftUI это свежая технология которая появилась буквально год назад, чтобы лучше её понять стоит посмотреть видео гугла по flatter как минимум по state management / inhereted widget / provider / bloc
в SwiftUI это @State / ViewModifier / environment Самый простой вариант по сабжу: Код
struct SomeView: View { @State var hasConnection = false var body: some View { if hasConnection { Text("Connected") } else { Text("Not connected") } } } можно развернуть до такого варианта Код
struct SomeView: View { @State var hasConnection = false var body: some View { Text("Connected") .onNoConnection() } } extension View { func onNoConnection() -> some View { return self.modifier(NoConnectionModifier()) } } struct NoConnectionModifier: ViewModifier { @State var hasConnection = false func body(content: Content) -> some View { ZStack { if hasConnection { content } Text("No connection") } } }
0
|
100 / 79 / 9
Регистрация: 03.08.2014
Сообщений: 447
|
|
07.11.2020, 21:27 [ТС] | 3 |
Спасибо за ответ, но я уже успел разобраться сам с мая месяца
Использовал самописный рутер экранов с флагами состояний, которые храню в Core Data. Очень удобно для приложений с десятками экранов.
0
|
07.11.2020, 21:27 | |
07.11.2020, 21:27 | |
Помогаю со студенческими работами здесь
3
Android & Ios Компилятор c++ for android/ios Шторка iOS or Android Совмещение Android и iOS Приложение на iOS и Android Приложение IOS/Android Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |