Ios 在核心数据中保存CMTime+;Xcode8+;迅捷3
我在数据模型中将两个属性(Ios 在核心数据中保存CMTime+;Xcode8+;迅捷3,ios,core-data,swift3,cmtime,transformable,Ios,Core Data,Swift3,Cmtime,Transformable,我在数据模型中将两个属性(currentTime和fullTime)声明为Transformable,如下所示 如何在此属性中保存数据?我是否需要先转换为NSData?或任何其他方式?可转换需要转换为NSData。当您使用符合NSCoding协议的类型时,这种情况会自动发生。如果您不是(与CMTime一样),则不能使用可转换的,除非您通过子类化NSValueTransformer创建自己的自定义转换器 您可能会发现,只需将CMTime属性保存在核心数据中,并从中重建CMTime就更容易了。属性
currentTime
和fullTime
)声明为Transformable
,如下所示
如何在此属性中保存数据?我是否需要先转换为
NSData
?或任何其他方式?可转换需要转换为NSData
。当您使用符合NSCoding
协议的类型时,这种情况会自动发生。如果您不是(与CMTime
一样),则不能使用可转换的,除非您通过子类化NSValueTransformer
创建自己的自定义转换器
您可能会发现,只需将
CMTime
属性保存在核心数据中,并从中重建CMTime
就更容易了。属性都是核心数据知道如何处理的数字类型。可转换属性可以有任何对象类型(NSArray
,NSDictionary
,NSData
,等等)。但是,使用原语(float
)类型或十进制(NSDecimalNumber
)有什么问题?