节省CMTime在核心数据+ Xcode8 + swift3
问题描述:
我声明在数据模型中的两个属性(currentTime
和fullTime
)为Transformable
,如下所示。节省CMTime在核心数据+ Xcode8 + swift3
如何将数据保存在这个属性?我需要先转换为NSData
吗?或者其他方式?
答
可转换需转换为NSData
。当您使用符合NSCoding
协议的类型时,会自动发生。如果您不是(与CMTime
一样),除非您通过子类NSValueTransformer
创建您自己的定制变压器,否则不能使用变压器。
您可能会发现简单地将CMTime
属性保存在核心数据中并从中重建CMTime
更容易。这些属性都是Core Data知道如何处理的所有数字类型。
'Transformable'属性可以有任何对象类型('NSArray','NSDictionary','NSData'等)。然而,使用原始('float')类型或Decimal('NSDecimalNumber')有什么问题? – n00bProgrammer