Как сохранить базу данных SQLite и UITableView синхронизированными - PullRequest
1 голос
/ 02 ноября 2010

Я новичок в разработке для iPhone и пытаюсь создать простую адресную книгу.Контактные данные хранятся в базе данных SQLite и представляются в UITableView (как в приложении «Контакты»).Когда пользователь нажимает на имя в таблице, подробный вид становится видимым.Есть кнопка удаления, которая удаляет контакт.

Проблема в том, что я не уверен, как синхронизировать базу данных SQLite с источником данных таблицы.Все контактные данные хранятся в NSMutableArray, который заполняется при запуске приложения (с помощью запроса SELECT).Теперь, когда я удаляю контакт, мне нужно удалить и запись в массиве, и строку в базе данных.

Есть ли другой, более «элегантный» способ сделать это?

Ответы [ 2 ]

3 голосов
/ 02 ноября 2010

Возможно, вы захотите попробовать использовать базовые данные с NSFetchedResultsController.Если вы создадите навигационное приложение в XCode и нажмете на флажок Core Data, оно создаст пример приложения, поддерживаемого Core Data.Я использовал это, когда настраивал свое первое приложение, которое использовало контроллер навигации и табличное представление с основными данными, и это дает отличную отправную точку с возможностью добавлять и удалять строки в табличном представлении.

2 голосов
/ 02 ноября 2010

Я решил это, поместив [myTableView reloadData] внутрь -viewWillAppear. Таким образом, каждый раз, когда это представление появляется - независимо от того, включено оно или выдано, - оно обновляет свой источник данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...