Obj-C のチュートリアルをいくつか見てきました。デリゲート クラスはすべて から継承しNSObject
ます。たとえば、applicationDidFinishLaunching
デリゲート メソッドは、一部のチュートリアルでは継承されていますが、NSObject
それNSApplication
を実装しています。継承すべきではないと思う理由はNSObject
、デリゲート プロトコル宣言が見つからなかったからですが、NSApplication でデリゲート プロトコル宣言が見つかったからです。私の Objective-C のおもちゃの環境は GnuSep です。
ここにいくつかのコードがあります:
@interface browserController : NSObject //here. inheriting from NSObject,but NSObject don'have any protocols declaration about applicationDidFinishLaunching.
{
NSBrowser *browser;
}
@end
@implementation browserController
- (void)menuAction:menuItem
{
..............................
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSWindow *win;
ActiveBrowserDelegate * abd;
WindowDelegate *wd;
NSRect wf = {{100, 100}, {600, 500}};
NSRect bf = {{10, 10}, {580, 350}};
.............................
}