2013-04-06 4 views
1

Переменные экземпляра класса CLPlaceMark являются readonly.Заполнение CLPlacemark из базы данных SQLite

Мое приложение использует обычные процедуры для заполнения CLPlacemark. Содержимое CLPlacemark добавляется в таблицу местных знаков SQLite.

Позже мое приложение извлекает одну или несколько меток места из таблицы SQLite. Как использовать результаты выборки для заполнения одного или нескольких CLPlacemarks, поскольку все поля доступны только для чтения?

ответ

0

Вам необходимо сериализовать метку на объект NSData и сохранить его в базе данных.

NSData* data = [NSKeyedArchiver archivedDataWithRootObject:placemark]; 

Вы также можете архивировать NSArray из CLPlacemark объектов сразу.

Затем вы можете восстановить метку (или массив меток) от этого NSData использования NSKeyedUnarchiver:

CLPlacemark* placemark = [NSKeyedUnarchiver unarchiveObjectWithData:data]; 
+0

я мог бы что-то отсутствую, но как может быть база данных поиска, если CLPlacemark сериализируется? –

+0

@StephenJoy это невозможно, если вы не сохраните дополнительные нетериализированные данные с каждой меткой. – Felix