Я думаю, что лучший подход в случае, о котором вы упомянули, - это хранить данные только локально, пока пользователь не подтвердит добавление новой записи. Отправка каждого редактирования поля на сервер несколько избыточна.
Общая идиома приложений для iPhone состоит в том, что не существует такой вещи, как «Сохранить». Пользователь обычно ожидает, что что-то будет совершено в какой-то разумный момент, но он не представляется пользователю как экономия как таковая.
Так, например, представьте, что у вас есть пользовательский интерфейс, который позволяет пользователю редактировать какую-то запись, которая будет сохранена в локальных основных данных, а также отправлена на сервер. В тот момент, когда пользователь выходит из пользовательского интерфейса для создания новой записи, он, возможно, нажмет кнопку «Готово» (например, обычно не называется «Сохранить»). В тот момент, когда они нажимают «Готово», вы захотите начать запись основных данных, а также начать передачу на удаленный сервер. Серверный сервер не обязательно будет загружать пользовательский интерфейс или заставлять их ждать, пока он не завершится - лучше разрешить им продолжать использовать приложение - но это происходит. Если обновление на сервер не удалось, вы можете сообщить об этом пользователю или сделать что-то подходящее.
Хороший вопрос, который следует задать себе при планировании детализации операций записи в основные данные и / или на удаленный сервер: что произойдет, если приложение выйдет из строя или у телефона не будет работать в любых точках приложения ? Сколько потери данных может произойти? Хорошие приложения снижают риск потери данных и могут повторно запускаться в состоянии, очень похожем на то, в котором они находились ранее после выхода по какой-либо причине.