文档章节

[Cocoa] NSApplication 简介

木木情深
 木木情深
发布于 2013/12/19 21:16
字数 215
阅读 87
收藏 3

每一个应用程序都必须有一个 NSApplication 单例对象,它管理应用程序的主事件循环。在 main() 函数中,我们在 NSApplicationMain 里创建该单例对象,并启动事件循环。NSApplicationMain 的功能大约如下:

void NSApplicationMain(int argc, char *argv[])
{
    [NSApplication sharedApplication];
    [NSBundle loadNibNamed:@"MianMenu" owner:NSApp];
    [NSApp run];
}

首先,我们调用 sharedApplication 来创建单例对象(第一调用,肯定是创建啦),并配置显示环境,将程序与window server 和 display server相连;然后装载应用程序的 main nib文件(在 info.plist 中由 Main nib file base name 指定的);然后发送 run 消息启动事件循环。

NSApp 一个指向 sharedApplication 对象的全局变量。NSApplication 从 window server 接收事件,并将它们封装为 NSEvent,然后分发给合适的 NSWindow,再由 NSWindow 在它自身的视图层次中分发。

本文转载自:http://blog.csdn.net/kesalin/article/details/6754051

共有 人打赏支持
木木情深
粉丝 37
博文 189
码字总数 26451
作品 0
广州
程序员
私信 提问
《从零开始学Swift》学习笔记(Day 63)——Cocoa Touch设计模式及应用之单例模式

原创文章,欢迎转载。转载请注明:关东升的博客 什么是设计模式。设计模式是在特定场景下对特定问题的解决方案,这些解决方案是经过反复论证和测试总结出来的。实际上,除了软件设计,设计模...

智捷课堂
2016/01/22
33
0
Objective-C中单例模式的实现

单例模式在Cocoa和Cocoa Touch中非常常见。比如这两个,[UIApplication sharedApplication]和[NSApplication sharedApplication],大家应该都见过。但是我们应该如何在代码中实现一个单例模式...

雾灵峰
2013/03/24
0
0
从零开始手敲次世代游戏引擎(MacOS特别篇 贰)

上一篇我们实现了在macOS上面的编译。但是我们采用的并不是macOS的原生接口,因此获得的OpenGL Context所支持的API版本也被限制到2.1版本。这显然是不够的。 因此,接下来我们来尝试使用mac...

陈文礼
2017/11/13
0
0
Cocoa 编码规范

> Code Naming Basics 代码命名基础 在面向对象软件库的设计过程中,开发人员经常忽视对类,方法,函数,常量以及其他编程接口元素的命名。本节讨论大多数Cocoa接口的一些命名约定。 >> Gen...

长平狐
2012/10/09
186
0
使用Swift开发一个MacOS的菜单状态栏App

新媒体管家 点击上方“程序员大咖”,选择“置顶公众号” 关键时刻,第一时间送达! 下面开始介绍如何使用Swift开发一个Mac Menu Bar(Status Bar) App。通过做一个简单的天气App。天气数据...

px01ih8
2017/12/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

商品详情页上拉查看详情

商品详情页上拉查看详情 目录介绍 01.该库介绍 02.效果展示 03.如何使用 04.注意要点 05.优化问题 06.部分代码逻辑 07.参考案例 01.该库介绍 模仿淘宝、京东、考拉等商品详情页分页加载的UI效...

潇湘剑雨
16分钟前
0
0
Netty内存池之PoolArena详解

PoolArena是Netty内存池中的一个核心容器,它的主要作用是对创建的一系列的PoolChunk和PoolSubpage进行管理,根据申请的不同内存大小将最终的申请动作委托给这两个子容器进行管理。整体上,P...

爱宝贝丶
21分钟前
0
0
Django使用Channels实现WebSocket--下篇

希望通过对这两篇文章的学习,能够对Channels有更加深入的了解,使用起来得心应手游刃有余 通过上一篇《Django使用Channels实现WebSocket--上篇》的学习应该对Channels的各种概念有了清晰的认...

运维咖啡吧
28分钟前
1
0
linux下设置定时执行shell脚本的示例

很多时候我们有希望服务器定时去运行一个脚本来触发一个操作,比如说定时去备份服务器数据、数据库数据等 不适合人工经常做的一些操作这里简单说下 shell Shell俗称壳,类似于DOS下的command...

阿锋zxf
31分钟前
2
0
介绍Kubernetes监控Heapster

什么是Heapster? Heapster是容器集群监控和性能分析工具,天然的支持Kubernetes和CoreOS,Kubernetes有个出名的监控agent—cAdvisor。在每个kubernetes Node上都会运行cAdvisor,它会收集本机...

xiangyunyan
32分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部