0
我想將一個MKPlacemark實例加入到Realm中。我認爲將Mkplacemark打造成CoreData的方法就是將數據類型設置爲可變形。但是Realm只能獲得NSData。我如何將自定義實例轉換爲NSData?如何在ios中存儲MKPlacemark到Realm(Swift 3)?
我想將一個MKPlacemark實例加入到Realm中。我認爲將Mkplacemark打造成CoreData的方法就是將數據類型設置爲可變形。但是Realm只能獲得NSData。我如何將自定義實例轉換爲NSData?如何在ios中存儲MKPlacemark到Realm(Swift 3)?
由於您無法直接在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
}
然後你可以創建自己的功能,你的地標類的實例轉換成MKPlacemark對象。
func getMKPlacemark(placemark: Placemark)->MKPlacemark{
return MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: placemark.latitude,longitude: placemark.longitude))
}
謝謝您的回答。我認爲這是Realm團隊建議定製自定義類和ios系統類的方法。這有點不方便 – SLY