macOS 학습 노트(8) 간단명료한 텍스트 편집기
2533 단어 MacOS
#import
@interface MyDocument : NSDocument
{
IBOutlet NSTextView *textView;
NSAttributedString * rtfData;//
}
@end
#import "MyDocument.h"
@implementation MyDocument
- (id)init
{
self = [super init];
if (self) {
// Add your subclass-specific initialization here.
// If an error occurs here, send a [self release] message and return nil.
}
return self;
}
- (NSString *)windowNibName
{
// Override returning the nib file name of the document
// If you need to use a subclass of NSWindowController or if your document supports multiple NSWindowControllers, you should remove this method and override -makeWindowControllers instead.
return @"MyDocument";
}
- (void)windowControllerDidLoadNib:(NSWindowController *) aController
{
[super windowControllerDidLoadNib:aController];
// Add any code here that needs to be executed once the windowController has loaded the document's window.
if(rtfData){
[[textView textStorage] replaceCharactersInRange:NSMakeRange(0, [[textView string] length]) withAttributedString:rtfData];
[rtfData release];
}
[textView setAllowsUndo:YES];
}
-(Boolean)readFromFileWrapper:(NSFileWrapper *)fileWrapper ofType:(NSString *)typeName error:(NSError **)outError
{
rtfData=[[NSAttributedString alloc] initWithRTF:[wrapper regularFileContents] documentAttributes:nil];
if(textView){
[[textView textStorage] replaceCharactersInRange:NSMakeRange(0, [[textView string] length]) withAttributedString:rtfData];
[rtfData release];
}
return YES;
}
-(NSFileWrapper*)fileWrapperOfType:(NSString *)typeName error:(NSError **)outError
{
NSRange range=NSMakeRange(0, [[textView string] length]);
NSFileWrapper * wrapper=[[NSFileWrapper alloc] initRegularFileWithContents:[textView RTFFromRange:range]];
return [wrapper autorelease];
}
@end
### 기본 개념 검토
텍스트 기반 프로세싱 프로그램은 일반적으로 다음 네 가지 기능을 가진 하나의 텍스트에 해당하는 여러 개의 NSDocument 객체를 제어하는 NSDocument Controller 객체의 인스턴스로 설명됩니다.
일반 텍스트 편집기의 차이점을 비교하여 통일적으로 해석하다.readFromData 방법으로 파일 시스템에서 NSData 6. 읽기Data OfType으로 NSData를 NSString 7.windowControllerDidLoadNib 텍스트 데이터를 텍스트 보기에 불러오기
풍부한 텍스트 편집기: 8.readFromFileWrapper 폴더에서 데이터 읽기 9.fileWrapperOfType을 사용하면 문서에 풍부한 텍스트 내용을 저장할 수 있습니다.windowControllerDidLoadNib 마운트 보기
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 환경 변수 설정 (macOS)macOS에서 Java 환경 변수 설정 터미널 실행 후 JDK 위치 경로 이동 vim 편집기 사용하여 bash_profile 편집 변수 입력 환경 변수 설정 확인 Java 버전 확인...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.