阅读 15

Framework-Annotations & Category 注解 \ 工具类

引导 📌

我们追求技术的提升,关注技术的发展历程;作为从事技术工作的伐码猿,有个想法(仅是个人想法),这个想法工程量之大(遇到,用到,最新技术点,点点积累,及时补充吧),从事技术多年也算是对所花费时间的一个总结(算是对技术这块的一个目标吧)。
重点 -> 重点 -> 重点(重要的事情说 2+1 遍),
我的「想法和行动」都在文章末尾
简书原文 http://www.jianshu.com/p/3ba46721ae96
官方译文 https://juejin.im/post/593e54ed8d6d81005898fd26

「UIKit Framework Annotation  Practical Case」

「Foundation Framework Annotation  Practical Case」

「 Framework Efficiency of Tools」



我们通常称为 “Cocoa框架”,事实上 Cocoa 本身是一个框架的集合,它包含了众多子框架,其中最重要的要数 “Foundation” 和 “UIKit” 。前者是框架的基础,和界面无关,其中包含了大量常用的API;后者是基础的UI类库,以后我们在 iOS 开发中会经常用到。这两个框架在系统架构中的位置如下图:
本文为「简书-白开水ln」作者原创;我的写作,希望能帮助到初学者入门和老司机回顾 ^_^.

 Cocoa框架

上图注解:

  • 1、Core OS 层
    位于 iOS 框架的最底层,主要包含内核、文件系统、网络基础架构、安全管理、电源管理、设备驱动、线程管理、内存管理等。简而言之,该层提供了最低级的、系统级的服务。

  • 2、Core Services 层
    可称之为核心服务层,顾名思义,它提供诸如字符串管理、集合管理、网络操作、URL实用工具、联系人管理、偏好设置等服务。除此之外,它还提供很多基于硬件特性的服务,如GPS、加速仪、陀螺仪等。该层包含了Core Location、Core Motion、SystemConfiguration、Foundation与Core Foundation子模块。其中Foundation与Core Foundation子模块提供了对公共数据类型(字符串、集合等)的抽象,Core Foundation中的Core Data子模块可以实现对象图形管理与对象持久化。

  • 3、Media 层:依赖于Core
    Services层提供的功能,主要负责图形与多媒体服务。它包含了CoreGraphics、Core Text、OpenGL ES、Core Animation、AVFoundation、Core Audio等与图形、视频和音频相关的功能模块。
  • 4、 Cocoa Touch 层
    是直接向iOS应用程序提供各种基础功能的支持。其中的UIKit框架提供各种可视化控件供应用程序使用,如窗口、视图、视图控制器与各种用户控件等。另外UIKit也定义了应用程序的默认行为和事件处理结构。

我 GitHub 工程已创建好,只等你的到来,开始有意义的▶️👀 👬 👄
不管谁的博客上面写的(也包括自己),阅读的你要敢于去验证,停止无意义的⏹copy 👬 paste。

在「时间 & 知识 」有限内,总结的文章难免有「未全、不足 」的地方,还望各位好友指出,以提高文章质量。

简明介绍


Foundation 类结构:

 Foundation 框架

Foundation 类结构分为几类:

  • 值对象
  • 集合
  • 操作系统服务:文件系统、URL、进程通讯 ✔️
  • 通知 ✔️
  • 归档和序列化 ✔️
  • 表达式和条件判断 ✔️
  • Objective-C语言服务

参考:分类各部分具体详细介绍,劳驾点一下这里

UIKit 类结构如下:


 UIKit 框架

参考:分类各部分具体详细介绍,劳驾点一下这里

阅读源码,不仅能使我们了解作者的功能实现方式,方便我们运用其功能,快速的fix使用中遇到的bug,更重要的是在阅读优秀源码时体会作者的设计思想和架构设计,具体的技术很快就会过时,优秀的设计思想却会历久弥新,给我们今后编码以很大的借鉴和启迪。向优秀的开源者致敬!阅读系统文件总会有让你意外的收获

总之,学习一门语言 & 控件,需要追根溯源,才好提纲切领,即能掌握全局,又能深入细节。从系统文件出发,结合事件业务逻辑处理的机制,再深入到各个功能点或再次封装,就会 胸有成竹而不乱阵脚了。

📌 Framework Annotations Demo

 UIKit.gif

📌 Framework ( Category ) Demo

 Category.gif

📌 GitHub Project Address

温馨提示:【真的不点进去阅读一下 ❓】
更多有关本文系统文件的属性和方法及常用功能代码案例,请移步这里
→【iOS·UIKit & Foundation框架—Annotations & Category注解工具类 👀

→【iOS Apple官方译文框架源码注解】👀

PS:☕️
简书-白开水ln,所有文章将「迁移 & 后续」对应两个工程下(就不在这里展示了,因为系统文件确定很多,给想学知识的你带来不便见谅 ^_^.)),这两个想法是个长期而持续的目标吧,如果你感觉看我写的文章对你 利大于弊 . . .(由于个人 「时间 & 知识」 有限,是心有余而力有限,欢迎你的 Star & Fork)。

期待


  • 如果在阅读过程中遇到 error,希望你能 Issues 我,谢谢。

  • 如果你想为【本工程】分享点什么,也希望你能 Issues 我,我非常想为这篇文章增加更多实用的内容,谢谢。

  • 「博客原文」对本专题我会【不定时、持续更新、一些 学习心得与文章、实用才是硬道理】^_^.

About me


【白开水ln】:(我) 也是对【所花费时间的一个总结】!

【白开水ln】:(我) 只是个【有思想的伐码猿🐒】加上【自己的学习总结☕️】写出来的文章 !

【白开水ln】:(我) 得文章【对你有新思想 或是 习惯】,你的 「Star & Fork」 是对我最大的赞赏 !


☕️ 分享是你我熟悉的味道 ☕️ 未完待续 !✔️
:💥❤️💥:
To be continued ☕️ Plain boiled water ☕️ To be continued

评论