Size: a a a

iOS Developers — русскоговорящее сообщество

2019 November 20

К

Константин in iOS Developers — русскоговорящее сообщество
Vladimir Kubantsev
должны совпадать названия. Нельзя переименовать аутлеты и функции на сториборде, но не делать это в коде. Unrecognized selector sent to instance - яркая демонстрация этой проблемы. Рантайм языка пытается вызвать функцию по другому названию, не находит её в объекте и всё падает
да-да, я понял, через рефактор нужно было переименовывать
источник

VK

Vladimir Kubantsev in iOS Developers — русскоговорящее сообщество
а для текстфилдов надо делегат делать, который реагирует на изменение текста
источник

VK

Vladimir Kubantsev in iOS Developers — русскоговорящее сообщество
источник

К

Константин in iOS Developers — русскоговорящее сообщество
спасибо, сейчас посмотрю
источник
2019 November 21

Ԥ

ԤИОНЕР in iOS Developers — русскоговорящее сообщество
А чего молча зашёл и о себе не рассказываешь? 😌
источник

ШД

Шахзод Джураев in iOS Developers — русскоговорящее сообщество
Доброго дня, никто не в курсе почему оплата на аккаунт разработчика не проходит ?
источник

ШД

Шахзод Джураев in iOS Developers — русскоговорящее сообщество
Или у всех норм?
источник

n

nasSA in iOS Developers — русскоговорящее сообщество
Всем доброе утро!
Могу ли я каким то образом находить ссылки внутри лейбла и делать их кликабельными?
Текст лейбла приходит с сервера
источник

И

Илья 🄴 in iOS Developers — русскоговорящее сообщество
nasSA
Всем доброе утро!
Могу ли я каким то образом находить ссылки внутри лейбла и делать их кликабельными?
Текст лейбла приходит с сервера
Лучше использовать UITextView
источник

n

nasSA in iOS Developers — русскоговорящее сообщество
А в нем могу?
источник

S

Stanislav in iOS Developers — русскоговорящее сообщество
Можешь
источник

Э

Эль Копетан Тотарен in iOS Developers — русскоговорящее сообщество
Доброго дня!
По VIPER навигацию нужно держать в router.
Как правильно реализовать переход на другую страницу через segue (с использованием storyboard)?
В обычном MVC я бы на кнопку повесил self.performSegue(withIdentifier: "goToDetail", sender: self)
Ну и сделал бы override func prepare(for segue: UIStoryboardSegue, sender: Any?), где передал бы данные внутрь страницы.
источник

И

Илья 🄴 in iOS Developers — русскоговорящее сообщество
Можешь и в лейбле конечно..но это костылить придётся неслабо
источник

n

nasSA in iOS Developers — русскоговорящее сообщество
поянл, буду искать
источник

KS

Kei Sidorov in iOS Developers — русскоговорящее сообщество
Эль Копетан Тотарен
Доброго дня!
По VIPER навигацию нужно держать в router.
Как правильно реализовать переход на другую страницу через segue (с использованием storyboard)?
В обычном MVC я бы на кнопку повесил self.performSegue(withIdentifier: "goToDetail", sender: self)
Ну и сделал бы override func prepare(for segue: UIStoryboardSegue, sender: Any?), где передал бы данные внутрь страницы.
Для роутера делаешь протокол делегата, который будет дёргать роутер когда надо будет куда -то перейти. и расширеушь его на вьёконтроллеры где будешь дергать пеформСегвей
protocol MyRouterDelegate {
  func performNavigation(_ route: MyRoute)
}

extension MyRouterDelegate where Self: UIViewController {
func performNavigation(_ route: MyRoute) {
  self.performSegue(withIdentifier: route.rawValue)
}
}


Далле обратная процедура,
prepare(for segue: UIStoryboardSegue, sender: Any?) передай всю инфу роутеру, он уже достанет дестинейшен vc и отконфигурирует его
источник

Э

Эль Копетан Тотарен in iOS Developers — русскоговорящее сообщество
Kei Sidorov
Для роутера делаешь протокол делегата, который будет дёргать роутер когда надо будет куда -то перейти. и расширеушь его на вьёконтроллеры где будешь дергать пеформСегвей
protocol MyRouterDelegate {
  func performNavigation(_ route: MyRoute)
}

extension MyRouterDelegate where Self: UIViewController {
func performNavigation(_ route: MyRoute) {
  self.performSegue(withIdentifier: route.rawValue)
}
}


Далле обратная процедура,
prepare(for segue: UIStoryboardSegue, sender: Any?) передай всю инфу роутеру, он уже достанет дестинейшен vc и отконфигурирует его
М, а в route что будет передаваться?
источник

KS

Kei Sidorov in iOS Developers — русскоговорящее сообщество
Ну для своего модуля определяете маршруты, доспустим это модуль списка контактов из которого вы можете уйти на экран добавления и экран просмотра. делаете enum с маршрутами и далее уже работаете с ними
источник

KS

Kei Sidorov in iOS Developers — русскоговорящее сообщество
enum MyRoute {
case detail(id: ID)
case add
}
источник

Э

Эль Копетан Тотарен in iOS Developers — русскоговорящее сообщество
Kei Sidorov
Ну для своего модуля определяете маршруты, доспустим это модуль списка контактов из которого вы можете уйти на экран добавления и экран просмотра. делаете enum с маршрутами и далее уже работаете с ними
Всё же не очень понял. Может есть какой-то пример, чтоб посмотреть?
источник

KS

Kei Sidorov in iOS Developers — русскоговорящее сообщество
Нет, у меня примеров нет. Те что есть, намного сложенее того, что я описал и под NDA.

Что имеено не понятно? Каждый модуль имеет конкрутный набор маршрутов, куда можно уйти с него. Опиываете эти маршруты в enum'e, далее интерактор просит роутер сходить на какой то экран router.navigateToDetailScreen() роутер в свою очередь дергает delegate.performNavigation(.detail), т.к. делегат роутера ViewController он дернет performSegue, как UIKit подготовит для вас контроллер вызовет prepareForSegue у этого ViewController'а и он запроксирует этот вызов роутеру. Роутер донастроит контроллер и segue выпоонится.
источник