私はOSXアプリケーション開発には新しく、ステータスバーアプリケーションを作りたいと思っています。Cocoa-私のstatusItemをApplicationDelegateに入れなければならないのはなぜですか?
私のステータスバーにNSStatusItem
を表示するには、statusBar
アイテムを最初にViewController
に入れます。それはうまくいった。
//ApplicationDelegate.h
#import <Cocoa/Cocoa.h>
@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (strong, nonatomic) NSStatusItem *statusBar;
@end
。
//ApplicationDelegate.m
#import "AppDelegate.h"
@interface AppDelegate()
@end
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application
}
- (void)applicationWillTerminate:(NSNotification *)aNotification {
// Insert code here to tear down your application
}
-(void)awakeFromNib{
self.statusBar = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
self.statusBar.title = @"T";
self.statusBar.highlightMode = YES;
}
@end
(ここで私は私がstoryboard
を使用して代わりにnib
だとき、私はawakeFromNib
メソッドを使用する必要があるかどうかわからない。)
しかし、私はいくつかのデモコードを読んだとき、私はそのI見つかりましたApplicationDelegate
クラスでそれを行う必要があります。
なぜですか?私はそれがの一部であると思っています。私はMVCのルールに従い、を見ています。