【问题标题】:save CMTime in core data + Xcode8 + swift3将 CMTime 保存在 core data + Xcode8 + swift3
【发布时间】:2018-03-18 00:09:12
【问题描述】:

我在数据模型中将两个属性(currentTime 和fullTime)声明为Transformable,如下所示。

如何在这个属性中保存数据?我需要先转换为NSData 吗?还是其他方式?

【问题讨论】:

  • Transformable 属性可以具有任何对象类型(NSArray、NSDictionary、NSData 等)。但是,使用原始(float)类型或十进制(NSDecimalNumber)有什么问题?

标签: ios core-data swift3 cmtime transformable


【解决方案1】:

Transformable 需要转换为NSData。当您使用符合NSCoding 协议的类型时,这会自动发生。如果不是(与CMTime 一样),则不能使用可转换对象,除非您通过子类化NSValueTransformer 创建自己的自定义转换器。

您可能会发现在 Core Data 中简单地保存 CMTime 属性并从中重建 CMTime 更容易。这些属性都是 Core Data 知道如何处理的数字类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多