0

私は、コア データ データストアでそれぞれ約 40 ~ 80k の多くのドキュメントを処理する iOS アプリに取り組んでいます。データ入力を簡単にするために、ストア内の変換可能なフィールドに NSTextView コントロールの内容を保存する単純なココア アプリをまとめました。

その後、保存したストアを iOS アプリで開いていますが、問題が発生しています。UITextView コントロールを使用して、データ ストア内のそのフィールドから取得した結果にアクセスしようとすると、表示されるテキストが 16 進ダンプになります。ココア アプリの 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 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であることは気にしません。テキストを元に戻したいだけです。

4

1 に答える 1

1

descriptionメソッドを使用したくありません。これにより、キーとして返された NSData がtext16 進ダンプとして表示される形式に変換されます。(実際のコンテンツを文字列として必要な場合は[NSString initWithData:encoding:]、データを文字列に戻すようなものを使用できます。)

しかし、UITextView が RTF データを表示できるとは思わないので、おそらく文字列に変換したくないでしょう。(少なくとも iOS 5 にはありません)。代わりに、生の NSData を に渡すことで、少なくとも UIWebView でデータを表示できます- [UIWebView loadData:MIMEType:textEncodingName:baseURL:]

于 2012-06-14T01:55:38.687 に答える