2010-02-22 2 views
0

Doc based, QTKit app. При сохранении новое имя файла обновляется в активном окне titleBar. Я также хотел бы отобразить вновь сохраненную строку имени файла в текстовом поле, где-то еще в открывшемся документе. Код успешно сохраняет новый документ. Однако строка lastPathComponent не обновляется. Пожалуйста, порекомендуйте?set 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-подобная чистота помогают избежать путаницы в подобных вещах. :-) –

Смежные вопросы