在Realm中使用Swift 3测量和单元类

问题描述:

Realm是否支持Swift 3 Foundation中的新测量单元类?目前看来并非如此。如果没有,是否有推荐的解决方法?在Realm中使用Swift 3测量和单元类

对于Realm在各平台之间保持一致,它无法公开对其他平台无法表示的类型的支持。因此,不要期望最近在Foundation中添加对Measurement和Unit类型的本地Realm支持。

但是,它很容易使用计算的属性是:

class MyModel: Object { 
    private dynamic var _angleInDegrees: Double = 0 
    var angle: Measurement<UnitAngle> { 
     get { 
      return Measurement(value: _angleInDegrees, unit: UnitAngle.degrees) 
     } 
     set { 
      _angleInDegrees = newValue.value 
     } 
    } 

    override class func ignoredProperties() -> [String] { 
     return ["angle"] 
    } 
} 
+0

感谢您的解释和示例代码。我遇到的问题是使用户能够动态更改用于给定度量的单位类型我是否无法对其进行硬编码。我想我可以使用en enum或其他数据结构作为关键字,并以类似于您的示例的方式使用动态属性(除非当然还有其他建议!) – rustproofFish