Контакты

Наибольший вклад в теги

Все теги (3)

Лучшие ответы пользователя

Все ответы (11)
  • Как правильно оганизовать взаимодействие с server API применительно к архитектуре VIPER?

    @Statusgman
    iOS developer
    Сервис лучше закрывать протоколом - это позволит подменить его реализацию, если потребуется (мок-сервис сделать, например). Синглтонами лучше не увлекаться: если использовать менеджер зависимостей это не понадобится.
    Сервис может содержать следующие зависимости:
    - Transport (RequestManager) - сущность, которая выполняет запросы к API. Может работать с Alamofire, например.
    - Parser - сущность, которая парсит JSON в PONSO/NSManagedObject
    - Cache - кэширование данных в БД, напимер в CoreData.

    Получается, что сервис - это логика работы совокупности транспорта, парсера и кэша. Если объекты получаемые с API однообразны, можно сделать generic сервис для получения различных сущностей.
    Ответ написан
    2 комментария
  • Как упростить серверную часть iOS приложения?

    @Statusgman
    iOS developer
    Keychain, Realm, Firebase
    Ответ написан
    Комментировать
  • Какой современный стэк iOS разработчика?

    @Statusgman
    iOS developer
    Вы говорите об архитектурных подходах. Принципы DI применимы везде и в разработке под iOS тоже. Однако, необходимо понимать, какие проблемы Вы хотите решить, используя тот или иной архитектурный паттерн.
    Если вы только начинаете изучать разработку iOS, обратите внимание на MVC в представлении apple (DI там особо не пригодится). Столкнувшись с определенными проблемами MVC (толстый контроллер), можно посмотреть на MVP или MVVM.
    Вообще не стоит обращать внимание на то что "модно" - следует по возможности следовать основным концепциям хорошего кода (SOLID, KISS ...).
    Для начала я бы не уделял особого внимания архитектурам, а сосредоточился на основных вещах: использование storyboard и autolayout, UIKit, CoreData

    Что касается библиотек - популярные либы для работы с сетью AFNetworking (Alamofire для swift). Остальное по вкусу, можно посмотреть лучшие либы например здесь.
    Ответ написан
    Комментировать
  • Как можно задать двум различным UITabBar различные размеры?

    @Statusgman
    iOS developer
    appearance проксирует параметры для всех объектов класса, к которому применен вызов. Вы можете создать дочерние классы UITabBar и использовать appearance для них, но лучше просто кастомизировать внешний вид внутри этих классов.

    https://developer.apple.com/documentation/uikit/ui...
    Ответ написан
    Комментировать
  • Как спрятать данные, находящиеся в CoreData?

    @Statusgman
    iOS developer
    Посмотрите на Encrypted Core Data SQLite Store.
    Это кастомная реализация persistent store, файл БД при его использование содержит зашифрованные данные.

    У этой библиотеки есть проблемы с производительностью определенных запросов, стоит это учитывать, например, при использовании NSFetchedResultsController с большим объемом данных, разбитых по секциям.
    Ответ написан
    Комментировать