在核心数据中存储 NSMeasurement 或 NSUnit

vii*_*rus 2 core-data ios ios10

iOS 10 引入了用于度量和单位的新类。我想在我的核心数据数据库中存储一个 NSMeasurement 或 NSUnit 对象,以便我可以在我的数据库中存储不同的度量。

有没有好的方法可以做到这一点?由于我的应用程序只会使用所有可用单位的一个子集,理论上我可以创建单位的字符串表示,并在需要时使用 switch 语句从中获取实际的单位类。但这感觉过于复杂且容易出错。

Tom*_*ton 5

这两个类都符合NSCoding,因此您可以将它们存储为“可转换”属性。作为可转换对象,您可以直接从/向属性读取/写入对象值,Core Data 会NSData根据需要自动在对象类型之间进行转换。您不需要自己进行任何转换。