1
CLPlaceMark
类的实例变量是只读的。从SQLite数据库填充CLPlacemark
我的应用程序使用正常程序来填充CLPlacemark
。 CLPlacemark
的内容被添加到SQLite
地点标记表中。
稍后,我的应用程序从SQLite
表中提取一个或多个地点标记。如何使用提取结果来填充一个或多个CLPlacemarks
,因为所有字段都是只读的?
CLPlaceMark
类的实例变量是只读的。从SQLite数据库填充CLPlacemark
我的应用程序使用正常程序来填充CLPlacemark
。 CLPlacemark
的内容被添加到SQLite
地点标记表中。
稍后,我的应用程序从SQLite
表中提取一个或多个地点标记。如何使用提取结果来填充一个或多个CLPlacemarks
,因为所有字段都是只读的?
您需要将地标序列化为NSData
对象并将其保存到数据库中。
NSData* data = [NSKeyedArchiver archivedDataWithRootObject:placemark];
您也可以一次归档一个NSArray的CLPlacemark
对象。
然后你就可以恢复从NSData的使用NSKeyedUnarchiver
地标(或地标数组):
CLPlacemark* placemark = [NSKeyedUnarchiver unarchiveObjectWithData:data];
我可能失去了一些东西,但如何才能,如果CLPlacemark被序列数据库进行搜索? – 2013-04-07 01:01:46
@StephenJoy这是不可能的,除非你保存每个地标的附加非序列化数据。 – Felix 2013-04-07 08:08:38