macOS 开发 - 小基础拾遗

mac开发-碎碎念

前言(汇报近期状况)

  1. 近段时间由于公司的开发业务整合,我领到了一个兼职维护Android项目的机会,于是花了些时间把安卓基础的知识过了一遍,顺带还熟悉了一下Java语言,收获非浅,填补了技术栈的一个空白, 同时出于业务对跨平台的明显需求, 额外利用时间研究了ReactNative,算是迈出了面向全栈一小步.这其中的体验就是:进步使人愉悦, 由于这些工作上的原因,原本已经准备的好一部分macOS 开发的进阶项目也因此耽搁了进度, 后面会抓紧时间再补上来,希望有兴趣的朋友们不要着急,我会定期更新进度,希望可以做的更好.

  2. 关于macOS 开发基础教程视频课程已经发布有差不多两个月的时间了,收到部分同学的反馈提问,十分感谢.后期的进阶课程计划对已经收看基础课程的同学进行免费授权,目前还不清楚网易平台是否支持这个功能,如果有朋友或同学了解,烦请简信我,先提前致谢了.

正文(macOS 开发基础小知识)

1. macOS App 的启动过程:

通过熟悉一个App的启动过程,有利于我们理解开发时代码的执行过程,以及帮助我们修复一些系统Bug都是非常有意义的.一个macOS的App启动与iOS App启动相似,大体上可以将整个过程分为两部分:

    1. 准备过程:
    • 当我们通过点击图标启动一个App应用程序时,系统做的第一件事情就是打开info.plist文件, 从中获知编译后的二进制文件位于什么地方,并启动它我们的编写的代码此后便处于App的控制机制下.
      info.plist文件提供了对应用程序基本描述:
      • 应用的图标
      • 应用的类型(仅macOS)
      • 应用程序的可执行二进制文件名称
      • 启动应用时加载的界面文件
      • 应用程序支持打开的文档类型

info.plist 文件非常重要,如果从应用程序中删除这个文件,会导致App无法启动.

  • 2.运行过程:
    系统运行的第一件事就是打开主storyboard(Xcode7以前的版本是打开nib文件),并反序列化其中的内容,也就是说会对Storyboard文件(Xcode7前的工程是nib文件)中的控件,窗口以及其他对象进行解包,并将它们链接到一起.
    链接对象的时候系统会调用lddyld来进行静态动态的加载需求库.
    同时,系统会给应用创建一个AppDelegate对象和事件循环(runloop),并在完成资源和库加载后,会给AppDelegate发送一个applicationDidFinishLaunching消息.
    从此刻起,应用就在我们的代码控制之下了~
2. NSView的layer说明:

在macOS中,NSView由于历史原因,并不像iOS中的UIView一样天然的就带有一个layer图层,这在NSView的使用时,会造成有时通过layer.backgroundColor来设置背景色无效.(在课程的视频里有相关的讲解).
如果希望NSView可以正常使用layer图层,仅仅需要设置wantsLayer 属性为YES(Swift中是true)即可.
通常情况下,从storyboard(或Xib)中拖拽的控件,wantsLayer是默认为YES的.
如果通过代码创建的控件,那么在被addSubview方法添加到父控件之前,wantsLayer是默认为NO.

尾声(碎碎念)

意外的鼓励:
基础课程发布后,收到有的同学因为学习视频课程内容后并因此获得了工作的实习机会,这确是出乎我原本的意料,也特别高兴能帮助到同学们,希望努力的人都可以过得美好!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,312评论 5 473
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,578评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,337评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,134评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,161评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,303评论 1 280
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,761评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,421评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,609评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,450评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,504评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,194评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,760评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,836评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,066评论 1 257
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,612评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,178评论 2 341

推荐阅读更多精彩内容