2014-10-18 3 views
0

이것은 쉽지만 실제로 알아낼 수는 없습니다. 어쩌면 늦었습니다. NSTextView에서 텍스트를 가져와 rtf으로 저장하는 간단한 프로그램이 있습니다. 텍스트 자체를 저장하는 것은 효과적입니다. 태그를 붙일 속성을 얻는 방법을 이해할 수 없습니다.속성이 파일에 저장되지 않음

코드 : 나는 내가 documentAttributes에 대한 NSDictionary을 필요로 알고, 내가보기에서 어떻게 것을 얻는

NSAttributedString *saveString = [[NSAttributedString alloc] 
            initWithString:[textView string]]; 

NSData *writeResults = [saveString 
          RTFFromRange:NSMakeRange:(0, [saveString length]) 
          doumentAttributes:?? ]; 

[writeResults writeToURL:[panel URL] atomically: YES]; 

?

무엇이 누락 되었습니까?

+0

속성이 지정된 문자열을 설정하지 않은 속성은 없습니다 (호출중인 'string'메소드가 무엇인지 확실하지 않습니다). – Droppy

답변

0

문자열 속성에 대해 textView를 요청한 것 같습니다.

NSAttributedString *saveString = textView.attributedString; 

당신은이 같은 기인 문자열에서 속성을 얻을 수 있습니다 :

NSMutableDictionary *allAttributes = [[NSMutableDictionary alloc] init]; 
[saveString enumerateAttribuesInRange:NSMakeRange(0,saveString.length) options:NSAttributedStringEnumerationReverse usingBlock:^(NSDictionary *attrs, NSRange range, BOOL *stop) { 
    [allAttrubutes addEntriesFromDictionary:attrs]; 
}]; 
NSData *writeResults = [saveString.string RTFFromRange:NSMakeRange(0,saveString.length) documentAttributes:allAttributes]; 

을 나는 결코 없다 그러나 속성을 여러 번을 얻기 위해이 방법을 사용했다 당신은 AttributedString의 속성을 요청해야 RTF에 저장되어서 이것이 어떻게 될지 정확히 알지 못합니다. 그러나 모든 속성은 사전에 있습니다.

+0

고마워, 그게 내가 필요한거야. 코드가 작동하도록 변경하는 것은 NSData 행에 있습니다. NSData * writeResults = [saveString RTFFromRange : NSMakeRange (0, saveString.length) documentAttributes : allAttributes]; – littleDrummerBoy

관련 문제