我想将MKPlacemark实例绑定到Realm。我认为将Mkplacemark绑定到CoreData的方法只是将数据类型设置为可转换。但是Realm仅获得NSData。如何将自定义实例转换为NSData?

最佳答案

由于您无法直接在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))
}

09-25 21:06