noteNewRecentDocumentURL is not working
처음 프로젝트를 만들 때 document base로 만들지 않은 상태에서 파일 저장 히스토리를 관리해야할 일이 생겼다.
찾아보니 [[NSDocumentController sharedDocumentController]noteNewRecentDocumentURL:testUrl]; 와 같은 형식으로 쓰면 가능했다.
우선 테스트 코드를 작성해 봤다.
NSString* testPath = @"/Users/zamcom/Documents/test.txt"; NSURL* testUrl = [NSURL URLWithString:testPath]; [[NSDocumentController sharedDocumentController]noteNewRecentDocumentURL:testUrl]; NSDocumentController * docController = [NSDocumentController sharedDocumentController]; NSArray* urls = [docController recentDocumentURLs]; if (urls == nil || [urls count] == 0) { return; } for (NSURL* url in urls) { NSLog(@"url = %@", url); } |
로그를 찍어도 동작을 안한다. noteNewRecentDocumentURL에 무슨 문제가 있는 걸까?
NSSavePanel 을 이용할 때는 문제가 없었다.
확인해보니 스키마(scheme)명을 같이 써줘야 했다!
로컬파일이라 앞에 file://을 붙여주니 정상적으로 동작했다.
NSString* testPath = @"file:///Users/zamcom/Documents/test.txt"; NSURL* testUrl = [NSURL URLWithString:testPath]; [[NSDocumentController sharedDocumentController]noteNewRecentDocumentURL:testUrl]; NSDocumentController * docController = [NSDocumentController sharedDocumentController]; NSArray* urls = [docController recentDocumentURLs]; if (urls == nil || [urls count] == 0) { return; } for (NSURL* url in urls) { NSLog(@"url = %@", url); } |