Swift 在领域数据库中持久化CLLocationCoordinate2D数组

Swift 在领域数据库中持久化CLLocationCoordinate2D数组,swift,realm,Swift,Realm,我正在编写一个基于位置的应用程序,需要在我的领域模型中保存一个CLLocationCoordinate2D数组。最好的方法是什么?我应该为坐标定义一个新的模型对象并使用List保存该数组,还是有更好的方法呢?正如您所说,最好的方法是创建您自己的模型来存储坐标。您可以将名为Location的类作为CLLocationCoordinate2D的模型,其他领域对象可以使用List或仅使用Location将其持久化 定义位置类别: class Location: Object { dynamic

我正在编写一个基于位置的应用程序,需要在我的领域模型中保存一个
CLLocationCoordinate2D
数组。最好的方法是什么?我应该为坐标定义一个新的模型对象并使用
List
保存该数组,还是有更好的方法呢?

正如您所说,最好的方法是创建您自己的模型来存储坐标。您可以将名为
Location
的类作为
CLLocationCoordinate2D
的模型,其他领域对象可以使用
List
或仅使用
Location
将其持久化

定义
位置
类别:

class Location: Object {
    dynamic var latitude = 0.0
    dynamic var longitude = 0.0

    /// Computed properties are ignored in Realm
    var coordinate: CLLocationCoordinate2D {
        return CLLocationCoordinate2D(
            latitude: latitude,
            longitude: longitude)
    }
}
以及持久化它们的对象:

class SomeObject: Object {
    let coordinates = List<Location>()
}
someObject.coordinates[0].coordinate