Вы можете привязать заголовок окна к документу и использовать Key-Value-Observation для его обновления.
С помощью Interface Builder выберите «Окно» в MyDocument.xib и перейдите на вкладку «Привязки» в Инспекторе. Отметьте «Заголовок» для привязки к «Владельцу файла» и «Путь к ключу модели» для «Заголовок».
Затем в ваш подкласс NSPersistentDocument добавьте этот код
@interface MyDocument : NSPersistentDocument {
NSString * _title;
}
@end
@implementation MyDocument
//P All kinds of all your good stuff here
- (NSString *) title {
return _title;
}
@end
Теперь, если вы хотите изменить заголовок окна, вы можете использовать KVO. Например
- (BOOL)readFromURL:(NSURL *)absoluteURL
ofType:(NSString *)typeName
error:(NSError **)outError {
//P All your good code
[self willChangeValueForKey:@"title"];
_title = [absoluteURL lastPathComponent];
[self didChangeValueForKey:@"title"];
//P More good code
}