我想将MKPlacemark实例添加到Realm。我认为将Mkplacemark转化为CoreData的方法就是将数据类型设置为可转换的。但Realm只获得NSData。如何将自定义实例转换为NSData?
答案 0 :(得分:0)
由于您无法在Realm中直接存储自定义类,并且没有内置的方法可以将MKPlacemark转换为NSData,因此您应该创建自己的Realm模型,该模型具有您需要的所有MKPlacemark属性。 例如,如果您只需要名称和位置,则可以创建此模型:
class Placemark: Object {
dynamic var longitude: Double = 0.0
dynamic var latitude: Double = 0.0
dynamic var name:String? = nil
}
然后你可以创建自己的函数,将Placemark类的实例转换为MKPlacemark对象。
func getMKPlacemark(placemark: Placemark)->MKPlacemark{
return MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: placemark.latitude,longitude: placemark.longitude))
}