2014-12-26 18 views
0

이 질문은 다소 이상합니다. 표준 답변을 알고 있기 때문입니다. iOS (NSAttributedString에는 initWithRTF가없는)에서 볼 수있는 문제가 있지만 현재 Mac OS X에서이를보고 있습니다. 다음과 같이Mac OS X에서 NSAttributedString initWithRTF에 대한 표시 인터페이스 없음

코드는 다음과 같습니다 당신이 볼 수 있듯이

+(NSString*)stringFromRTFData:(NSData*)rtfData 
{ 
    #if TARGET_OS_IPHONE 
    return nil; //need to extract string from RTF for iOS 
    #else 
    NSAttributedString* intermediate = [[NSAttributedString alloc]initWithRTF:rtfData documentAttributes:nil]; 
    return [intermediate string]; 
    #endif 
} 

, 나는 코드가 맥 OS X 용으로 컴파일 될 경우 문자열이 반환 될 것으로 예상하고 무기 호 (iOS 용 반환 할 그냥 때문에

대부분의 프로젝트에서이 코드는 완벽하게 작동하지만 그 중 두 곳 (스포트라이트 및 빠른보기 수입 업체)에서 오류가 발생합니다. 'NSAttributedString'의 표시되지 않는 @interface가 선택기의 initWithRTF를 선언합니다. documentAttributes : '

또한이 문서를 Xcode에서 찾으려고하면 NSAttributedString에 대한 OS X 설명서가 아닌 NSAttributedString에 대한 iOS 설명서를 반환합니다.이 플러그인이 iOS 용이라고 생각한다고 제안합니다. 그러나 빌드 설정을 확인하면이 프로젝트가 64 비트 Intel 아키텍처와 지원되는 OS X 플랫폼으로 OS X 10.10으로 설정되었음을 알 수 있습니다.

무엇이 제공됩니까? 누구든지 내 오류를 볼 수 있습니까?

도움을 주셔서 감사합니다. - 그리고 모두에게 행복한 크리스마스.

+0

영향을받는 번역 단위에서 코코아 또는 AppKit을'import '하시겠습니까? '-initWithRTF : documentAttributes :'메소드는 AppKit의 일부인'NSAttributedString'의 카테고리에 있습니다. NSAttributedString 클래스 자체는 Foundation의 일부이므로, 카테고리가 아닌 경우에도 선언 될 수 있습니다. –

+0

Grr! 때때로 나는 스스로를 조절할 수있다. 답으로 답장하면 진드기가 나옵니다! – headbanger

답변

2

#import 코코아 또는 AppKit 헤더 파일이 필요합니다. NSAttributedString은 Foundation의 일부이지만 -initWithRTF:documentAttributes: 메서드는 아닙니다. AppKit의 NSAttributedString에있는 카테고리의 일부입니다.