2010-02-22 3 views
0

Doc 기반 QTKit 앱. 저장시 새 파일 이름은 활성 창 titleBar에서 업데이트됩니다. 또한 새로 저장된 파일 이름 문자열을 열려있는 doc의 textField에 표시하고 싶습니다. 코드가 새 문서를 저장합니다. 그러나 lastPathComponent 문자열은 업데이트되지 않습니다. 제발 조언 해 줘?저장 후 lastPathComponent 문자열을 설정합니다.

덕분에,

- (void)savePanelDidEnd:(NSSavePanel *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo 
{ 
    NSURL *outputFileURL = [(NSURL *)contextInfo autorelease];  



if (returnCode == NSOKButton) { 
    NSString *filename = [sheet filename]; 

    [[NSFileManager defaultManager] moveItemAtPath:[outputFileURL path] toPath:filename error:nil]; 

    NSString *path = [filename lastPathComponent]; 
    [textField setStringValue:[path lastPathComponent]]; 

    [[NSWorkspace sharedWorkspace] openFile:filename]; 
} 


else { 
    [[NSFileManager defaultManager] removeItemAtPath:[outputFileURL path] error:nil]; 


} 

} 
+0

왜 저축을 구현 하시겠습니까? 일반적으로 문서 시스템은 저장 작업을 처리합니다. 이를 수행하는 방법을 변경하려면 문서 제어기의 메소드를 조사하고 사용자가 대체하는 데 가장 적합한 메소드를 확인하십시오. http://developer.apple.com/mac/library/documentation/Cocoa/Reference/ApplicationKit/Classes/NSDocumentController_Class/ –

답변

0

(일 작업하고 창 제목 업데이트되기 때문에) "파일 이름이"분명히 유효하기 때문에, 실제로 연결되어 확실 "TextField를"만들 확인해야 너의 XIB?

+0

답장을 보내며 다시 살펴 보았습니다. "path"는 이미 파일 이름의 lastPathComponent이므로 "[lastPathComponent]"행은 의심스러워 보입니다. 텍스트보기에 "경로"를 전달하기 만하면됩니다. 보다 설명적인 변수 이름과 OCD와 같은 청결성은 그런 것을 혼란스럽게하는 것을 방지합니다. :-) –

관련 문제