2010-11-25 13 views
0

属性の1つが、ソングに関するコードチャートまたはノートを保存するために使用するバイナリデータ(rtfフィールド)であるエンティティを持っています。私は、このエンティティの他の文字列フィールドと共にこのフィールドを印刷できるようにする必要があります。私は `[オブジェクトvalueForKey:「cueNotes」@]を解析し成功してきたエンティティエントリからNSStringへのrtf情報の読み込み

NSString* notesString = [[[NSString alloc] initWithRTF:[object valueForKey:@"cueNotes"] documentAttributes:nil] autorelease]; 

:私は、私は考えることができる。このすべての順列を試してみましたNSDataのにおよびRTFフォーマットさのデータを見て、私は私initWithRTFしようとすると、結果はnullになります。ここで

が、私がこのデータを引っ張っていたエンティティのログの例です:誰でも提供できることをすべてのヘルプ

2010-10-30 00:47:32.867 lzshow7.2[4222:10b] <NSManagedObject: 0x2a4850> (entity: Song; id: 0x26a030 <x-coredata:///Song/t172F066B-285C-4125-B2FA-CFFA6A353D102> ; data: { 
cueName = Stupid; 
cueNo = 001; 
cueNotes = <040b7479 70656473 74726561 6d8103e8 84014084 84840d4e 534d7574 61626c65 44617461 00848406 4e534461 74610084 8408>; 
songToEffect =  (
); 
songToInstrument =  (
); 

}) 

いただければ幸いです。

答えて

0

initWithRTF:NSAttributedStringのメソッドです。 NSStringはそのセレクタに応答せず、nilを返すので、この問題を解決するためにクラス名を変更するだけです。

あなたのコンパイラがあなたに警告する必要があります - 私はコンパイラの警告を無視しないように助言します、それは多くの問題を保存します。

また、idの代わりにnilを使用する必要があります。これは、ドキュメントの属性には当てはまりません。代わりにNULLを使用する必要があります。

+0

私はNSAttributedStringで始まりましたが、私はあなたの提案に応じてこれを元に戻しました。今度はNULLをNULLに変更して、これを渡した:NSAttributedString * notesString = [[[NSAttributedString alloc] initWithRTF:[オブジェクトvalueForKey:@ "cueNotes"] documentAttributes:NULL] autorelease]; NSLog(@ "ノートは%n"、notesString)です。私はログからこれを取り戻した:ノートは: バマー...どんな考え? Attributed文字列をNSStringに変換する必要がありますか? –

+0

あなたのNSLogステートメントは、%@、%nでなくてはならないので、タイプミスであると思います。私はNSAttributedStringを使ったことがないので、その説明は何か分からない。多分あなたは[notesString string]をログする必要があるだろうか? –

+0

あなたの権利%nは%@でなければなりません...私はそれを変更し、[notesString string]に変更しました...そして、得点:ノートは(null)考えですか? –

関連する問題