Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update FileCache using SwiftData and SQLite #1

Open
tzopiz opened this issue Jul 20, 2024 · 0 comments · May be fixed by #2
Open

Update FileCache using SwiftData and SQLite #1

tzopiz opened this issue Jul 20, 2024 · 0 comments · May be fixed by #2
Assignees
Labels
enhancement New feature or request

Comments

@tzopiz
Copy link
Owner

tzopiz commented Jul 20, 2024

Основное задание

Доработать FileCache и pеализовать хранение данных с помощью SwiftData.

  • ModelContainer хранится внутри FileCache, инициализируется в момент создания FileCache.
  • FileCache содержит метод insert(_ item: Item) — добавить Item в бд.
  • FileCache содержит метод fetch() — получить все сохраненные Item в бд.
  • FileCache содержит метод delete(_ item: Item) — удалить Item в бд.
  • FileCache содержит метод update(_ item: Item) — обновитьItem в бд.

Дополнительное задание:

  • Написать дополнительный метод fetch, чтобы FileCache возвращал уже отсортированные и/или отфильтрованные [Item].
  • Ограничение: Инициализация Predicate и FetchDescriptor должна быть только внутри FileCache / метода fetch.

Дополнительное задание 2:

  • Написать в FileCache дополнительные методы fetch/insert/delete/update (нейминг можно поменять согласно своему чувству прекрасного), которые будут осуществлять чтение/запись в файл из базы SQLite.
    • fetch — получение списка всех Item из бд.
    • insert — добавление в бд Item.
    • delete — удаление из бд Item.
    • update — обновить в бд Item.
  • Добавить в приложение возможность выбирать хранилище в настройках (системное приложение Настройки — MyTodoApp)
  • Подсказка: Settings Bundle (формат отображения настройки выбираете на свое усмотрение — тогл, выбор хранилища галочкой и т.д.).
  • Ограничение: без использования SwiftData.
@tzopiz tzopiz transferred this issue from tzopiz/DailyDeeds Jul 22, 2024
@tzopiz tzopiz self-assigned this Jul 22, 2024
@tzopiz tzopiz added the enhancement New feature or request label Jul 22, 2024
@tzopiz tzopiz linked a pull request Jul 22, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant