2010-11-25 1 views
0

속성 중 하나가 노래에 대한 코드 차트 또는 노트를 저장하는 데 사용하는 이진 데이터 (rtf 필드)라는 엔티티 (이름이 Song)가 있습니다. 이 엔티티의 다른 문자열 필드와 함께이 필드를 인쇄 할 수 있어야합니다. 내가 생각할 수있는이 모든 순열을 시도했다 :엔티티 항목에서 NSString으로 rtf 정보 읽기

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

나는`구문 분석 성공적인되었습니다을 NSData에 [개체 valueForKey를 "cueNotes"@]과 RTF 형식의 데이터를보고,하지만 난 initWithRTF I을하려고 할 때 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을 반환하므로이 문제를 해결하기 위해 클래스 이름을 변경해야합니다.

컴파일러에서 경고해야합니다 - 나는 컴파일러 경고를 무시하지 말 것을 권고합니다. 많은 문제를 방지합니다.

또한 nil은 id에 대해서만 사용되어야합니다. 문서 속성의 경우가 아니므로 대신 거기에 NULL을 사용해야합니다.

+0

자, 이제 NSAttributedString으로 시작했는데 행운없이 시작했습니다. 이번에는 제안에 따라 다시 변경했습니다. 이번에도 NULL을 NULL로 변경하고 다음과 같이 변경했습니다. NSAttributedString * notesString = [[[NSAttributedString alloc] initWithRTF : [ 개체 valueForKey : @ "cueNotes"] documentAttributes : NULL] autorelease]; NSLog (@ "노트는 : % n", 노트 문자열); Log : notes가 있습니다. Bummer ... 어떤 생각? Attributed 문자열을 NSString으로 변환해야합니까 ??? –

+0

% @가 아니라 % n이어야하므로 NSLog 문이 오타라고 생각합니다. NSAttributedString을 사용 해 본 적이 없으므로 설명이 무엇인지 모릅니다. 어쩌면 [메모 문자열]을 로그해야합니까? –

+0

귀하의 권리 % n은 % @이어야합니다 ... 나는 그것을 변경하고 [notesString 문자열]로 변경 ... 그럼있어 : 노트 : (null) 생각? –