在核心数据中存储NSMeasurement或NSUnit

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

有没有一个好的方法来做到这一点? 由于我的应用程序只使用所有可用单元的一个子集,因此理论上可以创build单元的string表示forms,并在需要时使用switch语句来获取实际的单元类。 但是这感觉过于复杂和容易出错。

这两个类符合NSCoding ,所以你可以将它们存储为“可转换”的属性。 作为可变换,您可以直接从属性读取/写入对象值,并且Core Data可以根据需要自动在对象types和NSData之间进行转换。 你不需要做任何你自己的转换。