Swift 4 - 如何在核心数据中保存 NSAttributedstring

Swift 4 - How to save NSAttributedstring in core data

.xcdatamodeld文件中,我制作了一个属性content,并将其类型设为t运行可变形。而创建NSManagedObject子类后,我在属性文件中发现,content的类型是NSObject? .现在我将 NSObject 更改为 NSAttributedstring? ,和运行它,我保存数据的时候建success.But,这次,出现了很多错误,这些错误是关于UIApplication.shared.delegate as! AppDelegate的断点.我认为我在核心数据中保存 NSAttributedstring 的方式有更多问题。如何使用 t运行sformable 类型做到这一点?谢谢!

我为 Obj-c 和 Swift 找到了最简单的解决方案。

在 Core Data 中,您可以添加一个属性,例如我们将其命名为 attributedText。然后将其类型定义为Transformable。创建 .h 文件后,将 attributedText 的数据类型从 NSDictionary 更改为 NSAttributedString

现在您可以在 Core Data 中保存 NSAttributedString

这样回忆:

myObject.attributedText

它会 return 你的 NSAttributedString

对于Swift: 尝试创建一个 Transformable 类型的列。然后创建您的 NSManagedObject Subclass,在您的情况下将是一个 swift 文件。然后只需更改文件中列的类型,就可以得到类似 @NSManaged var name: NSAttributedString.

的内容

希望对您有所帮助