Я пытаюсь перевести старый код в ARC. Старый код делает это в WindowController:ARC: Как вы освобождаете WindowController, когда пользователь закрывает окно?
@interface PreferencesController() <NSWindowDelegate>
@end
@implementation PreferencesController
-(void)windowWillClose:(NSNotification*) notification {
[self autorelease];
}
@end
Мой AppDelegate имеет сильный указатель на WindowController:
@property(strong) PreferencesController* preferencesCtrl;
В PreferencesController, мне нужно сделать, чтобы объявить (слабый) указатель обратно на AppDelegate , а затем сделайте примерно следующее:
-(void) windowWillClose:(NSNotification *)notification {
[[self appDelegate] setPreferencesCtrl:nil];
}
Спасибо за ответ. My PreferencesController уже является делегатом для моего окна настроек (PreferencesController выполняет несколько действий в windowDidLoad), и IB не позволит мне перетащить выход делегата окна настроек на несколько объектов. Я осмотрелся, и есть некоторые решения, например. MultiDelegate, но они кажутся излишними для моих нужд. – 7stud
@ 7stud посмотрите на обновление. – Astoria