在 Core Data 中存储 NSMeasurement 或 NSUnit
Store NSMeasurement or NSUnit in Core Data
iOS 10 为度量和单位引入了新的 类。我想在我的核心数据数据库中存储一个 NSMeasurement 或 NSUnit 对象,这样我就可以在我的数据库中存储不同的测量值。
有什么好的方法吗?由于我的应用程序只会使用所有可用单位的一个子集,理论上我可以创建单位的字符串表示形式,并在需要时使用 switch 语句从中获取实际单位 类。但这感觉过于复杂且容易出错。
这两个 类 都符合 NSCoding
,因此您可以将它们存储为 "transformable" 属性。作为可转换对象,您 read/write 对象值直接 from/to 属性,Core Data 根据需要自动在对象类型和 NSData
之间转换。您不需要自己进行任何转换。
归档 NSUnit
会增加大量存储和性能开销。因此,最好将值存储为适当 NSUnit
的 baseUnit
的标量类型,并使用 NSMeasurementFormatter
在 UI 中显示值。
iOS 10 为度量和单位引入了新的 类。我想在我的核心数据数据库中存储一个 NSMeasurement 或 NSUnit 对象,这样我就可以在我的数据库中存储不同的测量值。
有什么好的方法吗?由于我的应用程序只会使用所有可用单位的一个子集,理论上我可以创建单位的字符串表示形式,并在需要时使用 switch 语句从中获取实际单位 类。但这感觉过于复杂且容易出错。
这两个 类 都符合 NSCoding
,因此您可以将它们存储为 "transformable" 属性。作为可转换对象,您 read/write 对象值直接 from/to 属性,Core Data 根据需要自动在对象类型和 NSData
之间转换。您不需要自己进行任何转换。
归档 NSUnit
会增加大量存储和性能开销。因此,最好将值存储为适当 NSUnit
的 baseUnit
的标量类型,并使用 NSMeasurementFormatter
在 UI 中显示值。