Проект предназначен для митапа посвященному огненому Swift. Его основам и концептуальным особенностям, благодаря чему его можно использовать эффективно в промышленных масштабах. Если вы скачаете проект из основной ветки master
то вы обнаружите, что он написан с багами и недочетами, каждый из которых помечен TODO
: и порядковым номером.
Вам предстоит произвести правки этих замечаний. Причем крайне важно последовательно выполнять именно то, о чем просит автор замечаний. Не переживайте, что код не идеальный, приводите его в порядок последовательно в соотвестствии с номером TODO
. В других ветках есть готовый вариант с внесенными правками, используйте их, если вы не уверены в своем решении или зашли в тупик.
override func viewDidLoad() {
super.viewDidLoad()
// TODO: 3. Ты хорошо сделал, что использовал xib, но надо как то через константы это все регистрировать, глянь extension UIView я добавил в проект и используй созданный тобой enum
tableView.register(UINib(nibName: "CountriesCodeListCell", bundle: nil), forCellReuseIdentifier: "codeCountry")
tableView.register(UINib(nibName: "CountriesListCell", bundle: nil), forCellReuseIdentifier: "allCountry")
// TODO: 1. Добавь еще в серединку секцию "Only name of countries", его id = "nameCountry" и это ячейка CountriesNameListCell, она уже есть в проекте.
loadCountries()
}
Приложение состоит из 2-х экранов, на первом выводится список стран в различных форматах из ресурсов (в каждой секции свой формат вывода), есть поисковая строка для фильтрации. По тапу на ячейку осуществляется переход в детали страны. В деталях можно менять информацию и при желании сохранять ее в ресурсах (при рестарте приложения ресурсы обнулятся). База стран представляет собой JSON лежащий в ресурсах проекта.
- Swift 3.2/4.0
- Xcode 9.x
Постарайтесь выполнять задания максимально быстро, у вас на все 9-ть заданий всего отводится 1 час. Если где-то будете встревать, бросайте задание, позже вернётесь к нему, главное выполнять задания одновременно со всеми.