iOS系统框架|青训营笔记

226 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第3天

今天是7月25日,青训营的第三天,今天进行了新的课程,了解到了iOS的系统框架和Foundation框架,以下是对相关知识的整理。

ios系统框架

1.frameworks:将动态代码库、nib file、图片文件、头文件、参考文件打包成一个单独的资源包。在Xcode是一个.framework的文件

用途:支撑开发者基于frameworks框架来更容易方便地达到想要实现的程序功能。

frameworks下的Headers文件夹,里面存放了大量的.h头文件,记录了Framework对外开放类的声明或一些静态变量等,frameworks携带的其它资源文件也会在Headers中存放。

2.系统架构分层

系统框架分为四层,由上到下为:Cocoa Touch(触摸层)-->Media(媒体层)-->Core Services (核心服务层)-->Core OS(操作系统层)

处于上层的框架会依赖底层的框架,处于下层的框架不会依赖上层的框架,由底层支持上层运作。

Core OS层

一般不会直接应用于应用程序,而是作用于其他框架。但在处理安全事件或者进行通讯时必须使用Core OS框架

该层包括的框架:Accelerate框架(可用于数量庞大的数学计算)、CoreBluetooth框架(与蓝牙有关)、External Accessory框架、LocalAuth entication框架、Security框架(提供管理证书,公钥私钥的策略)、System框架

Core Service层

用于提供应用系统所需的基础系统服务,比如Foundation框架,Core location框架(GPS)

Media层

本层提供图型,音频,视频等与媒体相关的框架,比如core Graphcs框架(页面渲染),core image(图片处理)

CocoaTouch层

本层的框架大部分与我们的app界面有关,提供了大量有关UI的框架,用于实现我们在app界面中的各种功能,比如UIKit提供有关按键、laber、滚动列表、宫格视图等UI控件,MapKit框架提供地图。

Foundation框架

Foundation框架为app和其它框架提供了基础能力:文本处理,日期时间计算等

通用:在MacOS, iOS, watchOS, tvOS中通用

引入Foundation(框架伞头文件):#import <Foundation/Foundation.h>

伞头文件:在一个类中引入其他所有类的声明,通过引入该类来引入所有类,达到只引入一个类就可以引入所有类的效果

总结

在今天的学习中,了解了iOS的系统框架,通过青训营老师的讲解对系统框架有了一定的认知。还了解到了Foundation框架在iOS中的基础性。希望在后面的学习中了解到更多关于各层系统架构的具体实现和使用方法