Я новичок в разработке приложений OSX, и я хочу создать приложение для строки состояния.Какао-Почему я должен помещать свой статус в приложение 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
(здесь я не уверен, должен ли я использовать awakeFromNib
метод, когда я использую storyboard
вместо nib
.)
Однако, когда я прочитал некоторые демо-код, я обнаружил, что я должен сделать это в классе ApplicationDelegate
.
Почему? Я думаю, что это часть моего VIEW, поскольку я следую правилу MVC.