-
Notifications
You must be signed in to change notification settings - Fork 0
dudarenko-io/TestAssignment_1
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Требования - см. Baclog Требований по поддержке версий iOS нет, проверяю работу приложения начиная с iOS 10 Приложение разрабатывается только для iPhone. (Для поддержки iPad можно было испоьзовать UISplitViewController) Был выбран язык SWIFT, с помощью него возможно быстрее вести разработку данного проекта. (ха.ха.) Согласно требованиям для хранения используется CoreData. Для работы со сторонними зависимостями используются CocoaPods. Для загрузки данных по сети используется Alamofire. Для работы с индикатором загрузки iOS используется AlamofireNetworkActivityIndicator. Архитектура: В слое UI на списке новостей используется ViewModel с которой работает ячейка новости. С WKWebView для нормального отображения контента нужно использовать CSS. Сейчас контент отображается с использованием UITextView, контент обработаю с помощью NSAttributedString. Для бизнес логики (загрузка данных, парсинг, сохранение в кэш) сделан отдельный компонент, закрытый протоколом NewsService. Компонент работает с зависимостями Transport, Parser, ErrorHanler закрытимы соответствующими протоколами, и стеком coreData. Сборка компнент не была выделена в отдельный класс, чтобы не усложнять код, однако применен принцип dependency injection, сборка сервиса происходит в NewsListViewController. Known issues: 1. в деталке по некоторым новостям приходят картинки. Так как отображение текста происходит в UITexView с помощью NSAttributedString, то загрузка картинок происходит синхронно в главном потоке(!). Картинки отображаются в некорректном масштабе. Варинатны решения: - парсить html, удалять теги с содержимым. Нужно знать все используемые теги... - использовать WKWebView. Тогда нужен CSS, но опять же нужно знать все используемые теги.
About
Test assignment master-detail application (loading data from internet + cache) written in swift
Resources
Stars
Watchers
Forks
Packages 0
No packages published