Skip to content

VKEducation/ios-itmo-2020-assignment-6-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Todo list

Предпосылки

Реализация Todo списка это типичный пример для демонстрации какой либо технологии, своеобразный hello world.

Исходные данные

Приложение содержит один экран TodoListView с подключенной вью моделью TodoListViewModel.

Задание

Основное: Необходимо добавить на экран список задач и отдельную строку для добавления новой задачи.

Строка добавления новой задачи должна состоять из поля ввода и кнопки "Добавить". Каждая строка списка должны отображать текст задачи. Невыполненные задачи можно отображать стандартным шрифтом, а выполненные серым зачеркнутым (опционально). При клике по задаче она должна менять состояние выполнена/невыполенена. Все состояние должно быть в TodoListViewModel.

Дополнительные: Реализовать хранение задач на диске. Добавить класс TodoStorage c методами addTask, updateTask и getTasks. Сохранение должно проходить на глобальной очереди, а методы TodoStorage потокобезопасны и возвращать Publisher. Вся работа с потоками должна быть реализована с помощью Combine. Получать список задач с диска не нужно делать один раз. В дальнейшем при добавлении новой задачи или обновлении имеющейся следует изменять и копию хранящуюся в памяти и данные на диске.

Подсказки

  • Для отображения списка можно использовать List или VStack.
  • Данные для каждой задачи удобно хранить в отдельных объектах. Для того что бы List или VStack могли отображать эти объекты им необходимо реализовать протокол Identifiable.
  • Строку добавления новой задачи можно отображать в первой строке списка.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages