Swift 4 - 如何在核心数据中保存 NSAttributedstring
Posted
技术标签:
【中文标题】Swift 4 - 如何在核心数据中保存 NSAttributedstring【英文标题】:Swift 4 - How to save NSAttributedstring in core data 【发布时间】:2018-03-08 01:07:29 【问题描述】:在.xcdatamodeld文件中,我做了一个属性content,并使其类型transformable。在创建 NSManagedObject 子类之后,我在属性文件中发现,content 的类型是 NSObject? .现在我将 NSObject 更改为 NSAttributedstring? ,然后运行它,构建成功。但是当我保存数据时,这一次发生了很多错误,这些错误大约是断点处的UIApplication.shared.delegate as! AppDelegate
。我认为我在核心数据中保存 NSAttributedstring 的方法有更多问题。如何使用可转换类型做到这一点?谢谢!
【问题讨论】:
【参考方案1】:我为 Obj-c 和 Swift 找到了最简单的解决方案。
在 Core Data 中你可以添加一个属性,例如我们称之为attributedText
。然后将其类型定义为Transformable
。创建 .h 文件后,将 attributedText
的数据类型从 NSDictionary
更改为 NSAttributedString
。
现在您可以将 NSAttributedString
保存在 Core Data 中。
像这样回忆它:
myObject.attributedText
它将返回您的NSAttributedString
。
对于 Swift:
尝试创建一个 Transformable 类型的列。然后创建你的NSManagedObject
Subclass
,在你的情况下这将是一个快速文件。然后只需更改文件中列的类型,以便您拥有类似@NSManaged var name: NSAttributedString
的内容。
希望对你有帮助。
【讨论】:
在这个问题中,我只是在你的回答中做了swift部分,并且在运行时发生错误,那么如何完成objective-c部分?如何创建 .h 文件以及如何更改数据类型?你介意具体教我吗?谢谢!以上是关于Swift 4 - 如何在核心数据中保存 NSAttributedstring的主要内容,如果未能解决你的问题,请参考以下文章
如何在swift 4中重新排序单元格后保存tableView顺序