程序如何运行?
入口main函数
#import <Cocoa/Cocoa.h> |
int main(int argc, char *argv[]) |
{ |
return NSApplicationMain(argc, (const char **) argv); |
} |
应用程序主进程开启
通过Info.plist 查找
NSMainNibFile,并load之NSMainNibFile 文件Load完成后,下一步NibFile中"File's owner' 回调用awakeFromNib
10.6 之后支持[super awakeFromNib]
程序启动完成
程序状态管理和维护通过
NSApplication,NSApplicationDelegateNSNibLoading,单独load
使用NSBundle 3个方法
+ (BOOL)loadNibFile:(NSString *)fileName externalNameTable:(NSDictionary *)context withZone:(NSZone *)zone;
+ (BOOL)loadNibNamed:(NSString *)nibName owner:(id)owner;
- (BOOL)loadNibFile:(NSString *)fileName externalNameTable:(NSDictionary *)context withZone:(NSZone *)zone;
看起来第二个更简单些
另外Document base Application NSDocument 类可以使用
- (NSString *)windowNibName;方法加载目标Nib文件
NSWindowController 同样可以使用上面的这个方法

Leave a comment