gpt4 book ai didi

ios - Core Data 的 Transformable 属性的自定义类示例

转载 作者:技术小花猫 更新时间:2023-10-29 11:23:29 26 4
gpt4 key购买 nike

当您创建 Transformable核心数据的属性,您通常添加 NSValueTransformer实体类的代码并在 Value Transformer 上填写其名称数据模型检查器的字段,但是 Custom Class 呢? field ?该字段的目的是什么?能举个简单的例子吗?

enter image description here

最佳答案

“自定义类”控制当 Xcode 在 NSManagedObject 上生成/扩展的子类时该属性会发生什么。如果您将此字段留空,您的 snapshot 字段将被声明为 NSObject。如果您填写类名,Xcode 会将属性声明为您输入的任何类名。

在实践中,这意味着如果您使 snapshot 可转换,将该字段留空,然后 Xcode 为您生成一个子类,该属性将声明为:

@NSManaged public var snapshot: NSObject?

另一方面,如果您填写该字段,例如在此处键入 UIImage,则当 Xcode 生成子类时,该属性将声明为:

@NSManaged public var snapshot: UIImage?

填写类名允许编译器检查您的赋值,这样,例如,如果属性是一个 UIImage,您就不会错误地尝试分配一个 NSData 到它。

更新:如果您使用的是 Swift,您还需要为属性配置中的“模块”字段添加一个值,就在“自定义类”下方。对于此处的 snapshot 属性,请执行以下操作:

Core Data transformable property with custom class set to UIImage and module set to UIKit

执行此操作时,生成的源代码将包含 import UIKit,以便代码可以编译。感谢@grego 在评论中指出这一点。

关于ios - Core Data 的 Transformable 属性的自定义类示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39251854/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com