【发布时间】:2020-02-23 10:56:42
【问题描述】:
我有一个适用于 iOS 和 macOS 的应用程序。这些应用程序使用 Cloudit 在(核心数据)之间共享信息。我将在一个平台(例如 iOS)上创建的 NSAttributedString 存储在核心数据属性中,该属性被定义为可转换类型的属性,因此核心数据使用(我假设)默认 NSCoder 来编码/解码 NSAttributedString 数据。
现在我的 macOS 应用程序可以从 iCloud 读取数据,包括这个 NSAttributedString 并查看/编辑它们。但是这个 NSAttributedString 在 macOS 上看起来完全不同(反之亦然)
不仅大小(我理解,因为 iOS 和 macOS 上的默认大小不同 - 所以我需要调整大小),而且我丢失了格式(粗体、斜体等)。
所以 UIFont 和 NSFont 的字体属性似乎不兼容,对吗?我正在使用标准字体 - 例如在 iOS UIFont.preferredFont(forTextStyle: .body)
也许我必须在 iCloud 中将 NSAttributedString 存储为其他内容(例如将其转换为 RTF/HTML 数据并以这种方式共享),并在读取期间将 RTF/HTML 再次转换为 NSAttributedString。我不是问怎么做(我知道),而是问我是否必须这样做在所有使用的平台上都兼容 NSAttributedString(至少从格式化的角度来看)。 p>
我在网上找不到任何关于此的内容(可能我搜索的关键字错误)。有人有在平台(iOS、macOS)之间共享 NSAttributedString 的经验吗? 对此有什么建议吗?
提前感谢您的建议/帮助。
【问题讨论】:
-
您应该将其添加为答案,并将其标记为已接受,以便其他人可以看到您的问题已得到解决。
-
感谢您的提示,我是新来的(作为贡献者)。
标签: core-data uikit nsattributedstring appkit