Возьмите предоставленную базовую реализацию асинхронной операции: проект. И реализуйте сабклассы операций специфичных для приложения:
-
Получение и отправка данных на сервер: без реализации, только интерфейс. Реализацию вы сможете написать после модуля «Работа с сетью», который посвящен работе с сервером. А сейчас все операции должны возвращать ошибку о недоступности сервера:
- Базовая операция для работы с бекендом
BaseBackendOpertation
; - Операция сохранения заметок в бекенд
SaveNotesBackendOperation
; - Операция загрузки списка заметок из бекенда
LoadNotesBackendOperation
.
- Базовая операция для работы с бекендом
-
Загрузка и сохранение заметок на локальный диск. В реализации этих операций необходимо использовать записную книжку
FileNotebook
, вы создали её в рамках первого курса «Разработка под iOS. Начинаем»:- Базовая DB операция
BaseDBOperation
; - Операция сохранения заметки в DB
SaveNoteDBOperation
; - Операция загрузки списка заметок из DB
LoadNotesDBOperation
; - Операция удаления заметки из DB
RemoveNoteDBOperation
.
- Базовая DB операция
-
Агрегирующие операции для работы из UI:
- Операция сохранения заметки
SaveNoteOperation
. Должна вызывать операцииSaveNotesBackendOperation
иSaveNoteDBOperation
. Должна вызываться из UI по событию окончания редактирования. - Операция загрузки списка заметок
LoadNotesOperation
. Должна вызыватьLoadNotesBackendOperation
иLoadNotesDBOperation
. Если полученные с сервера данные не соответствуют данным локально, то источником истины нужно считать сервер. В этом сценарии нужно обновить локальные данные. Она вызывается при отображении списка заметок. - Операция удаления заметки
RemoveNoteOperation
. Должна вызыватьSaveNotesBackendOperation
иRemoveNoteDBOperation
. Должна вызываться из UI по событию удаления заметки.
- Операция сохранения заметки
Важно! Каждая операция должна быть в отдельном файле, имя которого совпадает с именем операции.