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

标签 ios swift core-data nsattributedstring

.xcdatamodeld文件中,我创建了一个属性内容,并使其类型可转换。创建 NSManagedObject 子类后,我在属性文件中发现 content 的类型是 NSObject?现在我将 NSObject 更改为 NSAttributedstring? ,然后运行它,构建成功。但是当我保存数据时,这次出现了很多错误,这些错误是关于UIApplication.shared.delegate as! AppDelegate 通过断点。我认为我在核心数据中保存 NSAttributedstring 的方法有更多问题。如何使用可转换类型来做到这一点?谢谢!

最佳答案

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

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

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

像这样记忆一下:

myObject.attributedText

它将返回您的NSAttributedString

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

希望对你有帮助。

关于ios - Swift 4 - 如何在核心数据中保存 NSAttributedstring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49163815/

相关文章:

ios - WatchConnectivity 如何在多个 WKInterfaceController 之间共享 session ?

ios - 使用其基础对象值更新 NSDictionary 值

ios - 将 cordova 项目从 3.3 更新到 4.x

使用 AdMob 横幅时 iOS 应用程序不断崩溃

ios - swift :URLSessionConfiguration

swift - HStack 和 TextField 的角半径不更新

iphone - 为什么 Core Data 比 SQLite 快

ios - 更新大量 NSManagedObject 的有效方法

objective-c - 如何使用 SQLite 存储在 Core Data 中查询未保存的数据?

ios - 如何让UIImage边缘更柔和?