2013-04-06 130 views
1

CLPlaceMark類的實例變量是隻讀的。從SQLite數據庫填充CLPlacemark

我的應用程序使用正常程序來填充CLPlacemarkCLPlacemark的內容被添加到SQLite地點標記表中。

稍後,我的應用程序從SQLite表中提取一個或多個地點標記。如何使用提取結果來填充一個或多個CLPlacemarks,因爲所有字段都是隻讀的?

回答

0

您需要將地標序列化爲NSData對象並將其保存到數據庫中。

NSData* data = [NSKeyedArchiver archivedDataWithRootObject:placemark]; 

您也可以一次歸檔一個NSArray的CLPlacemark對象。

然後你就可以恢復從NSData的使用NSKeyedUnarchiver地標(或地標數組):

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

我可能失去了一些東西,但如何才能,如果CLPlacemark被序列數據庫進行搜索? – 2013-04-07 01:01:46

+0

@StephenJoy這是不可能的,除非你保存每個地標的附加非序列化數據。 – Felix 2013-04-07 08:08:38