簡體   English   中英

如何從iOS的核心數據可轉換字段中獲取RTF內容?

[英]How can I get RTF content out of a core data transformable field on iOS?

我正在開發一個iOS應用程序,它將在核心數據數據存儲區中處理許多大約40-80k的文檔。 為了簡化數據輸入,我組合了一個簡單的可可應用程序,該應用程序將NSTextView控件的內容保存到商店中的可轉換字段中。

然后,我在iOS應用中打開保存的商店,出現了問題。 當我嘗試使用UITextView控件訪問數據存儲中該字段的提取結果時,顯示的文本為十六進制轉儲。 我猜想可可應用程序中的NSTextView正在將RTF文本保存到字段中,而UITextView希望獲得純文本。

我現在正在使用一個用於iPad的簡單的Master-Detail項目來嘗試獲取數據。 以下是用於從數據存儲加載數據的代碼:

    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 3b5c726​​5 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中的數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM