ios - 如何从 iOS 上的核心数据可转换字段中获取 RTF 内容?

标签 ios core-data

我正在开发一个 iOS 应用程序,它将处理核心数据存储中每个大约 40-80k 的许多文档。为了便于数据输入,我编写了一个简单的 cocoa 应用程序,它将 NSTextView 控件的内容保存到存储中的可转换字段中。

然后我在我的 iOS 应用程序中打开保存的商店并遇到问题。当我尝试使用 UITextView 控件访问从数据存储中的该字段获取的结果时,显示的文本是十六进制转储。我猜测 cocoa 应用程序中的 NSTextView 正在将 RTF 文本保存到字段中,而 UITextView 期望获得纯文本。

我现在正在使用一个简单的 iPad 主从项目来尝试获取数据。以下是从数据存储加载数据的代码:

    self.detailDescriptionLabel.text = [[self.detailItem valueForKey:@"name"] description];
    self.detailTextView.text = [[self.detailItem valueForKey:@"text"] description];

当我运行应用程序并查看结果时,以下是我得到的 detailTextView 内容:

<7b5c7274 66315c61 6e73695c 616e7369 63706731 3235325c 636f636f 61727466 31313338 5c636f63 6f617375 62727466 3437300a 7b5c666f 6e747462 6c5c6630 5c667377 6973735c 66636861 72736574 30204865 6c766574 6963613b 7d0a7b5c 636f6c6f 7274626c 3b5c7265 64323535 5c677265 656e3235 355c626c 75653235 353b7d0a 5c706172 645c7478 3536305c 74783131 32305c74 78313638 305c7478 32323430 5c747832 3830305c 74783333 36305c74 78333932 305c7478 34343830 5c747835 3034305c 74783536 30305c74 78363136 305c7478 36373230 5c706172 6469726e 61747572 616c0a0a 5c66305c 66733234 205c6366 30205468 69732069 73207468 6520776f 726b696e 6720636f 70792e7d>

我尝试使用 NSAttributedString 来获取数据,但 initWithRTFD:documentAttributes: 方法似乎在 iOS 中不可用。

说实话,我并不关心它是 RTF。我只是想取回文本。

最佳答案

您不想使用description方法;这会将作为 text 键返回的 NSData 转换为您看到的十六进制转储形式。 (如果您希望实际内容作为字符串,您可以使用类似 [NSString initWithData:encoding:] 将数据重新转换为字符串。)

但是您可能不想转换为字符串,因为我不认为 UITextView 可以显示 RTF 数据。 (至少在 iOS 5 中不是)。相反,您至少可以通过将原始 NSData 传递到 - [UIWebView loadData:MIMEType:textEncodingName:baseURL:] 来查看 UIWebView 中的数据。

关于ios - 如何从 iOS 上的核心数据可转换字段中获取 RTF 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11025468/

相关文章:

iOS swift : Separate AppDelegate for XCTest

ios - 如何从 UITableView swift 4 中删除一行,其中使用 CoreData 存储数据?

ios - AVAudioPlayer 后台任务不适用于 iOS 5.0.1 设备,但它适用于 iOS 5 模拟器

Objective-C 继承和类型转换

ios - 如何更改 Xcode 中的工作区名称?

core-data - Swift 3 iOS10核心数据根据id检查记录是否已经存在

swift - 删除 TableView 中的行并删除核心数据 - iOS/Swift

ios - 核心数据更改,现在更新崩溃

ios - 将核心数据与服务器响应同步

ios - libMobileGestalt MobileGestalt.c :890: MGIsDeviceOneOfType is not supported on this platform