Итак, я пытаюсь выполнить это упражнение, где мне нужно установить делегата для главного окна. Цель состоит в том, чтобы убедиться, что когда пользователь изменяет размер окна, оно всегда в два раза шире его высоты.
Это мой файл AppController.h:
#import <Cocoa/Cocoa.h>
@interface AppController : NSObject
{
NSWindow *windowWillResize;
}
@end
и это мой файл AppController.m:
#import "AppController.h"
@implementation AppController
- (id) init
{
[super init];
windowWillResize = [[NSWindow alloc] init];
[windowWillResize setDelegate:self];
return self;
}
- (NSSize) windowWillResize:(NSWindow *)sender
toSize:(NSSize)frameSize;
{
NSLog(@"size is changing");
return frameSize;
}
@end
Однако я могу удалить строку
[windowWillResize setDelegate: self];
так как я установил делегата в Интерфейсном Разработчике, но я не уверен, почему это работает.
Как windowWillResize знает, что я имею в виду главное окно приложения, поскольку я делаю совершенно новый
windowWillResize = [[NSWindow alloc] init];
У меня такое чувство, что я все делаю неправильно. Может ли кто-нибудь указать мне правильное направление? Спасибо!