IOS框架概览

IOS框架概览

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

iOS是执行在iPhone、iPod Touch或iPad上的操作系统,之前叫做iPhone OS,iOS与Mac OS X有共同的基础架构和底层技术。但iOS是依据移动设备的特点而设计的,所以和Mac OS X系统略有差别,比方对多点触摸和加速感应器的支持。

以下来看看iOS框架简单介绍:
iOS 的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。下图展示了Mac OS X和iOS系统架构层次的一个对照。

IOS框架概览

从上图中我们能够发现Mac OS X与iOS的系统架构层次仅仅有最上面一层不同,由Cocoa框架换成了Cocoa Touch,因此开发iOS应用程序与开发Mac OS X程序是相似的,如今就让我们来详细看看每层所包括的内容。
事实上iOS是基于UNIX的,所以我们全然能够相信这个操作系统,要知道从系统的稳定性上来说它要比其它操作系统的产品好非常多。
位于iOS系统架构最以下的一层是核心操作系统层,它包含内存管理、文件系统、电源管理以及一些其它的操作系统任务。它能够直接和硬件设备进行交互。核心操作系统层包含以下这些组件:
 OS X Kernel  Mach 3.0  BSD
 Sockets  Power Mgmt  File System
 Keychain  Certificates  Security
 Bonjour
第二层是核心服务层,我们能够通过它来訪问iOS的一些服务。它包含下面这些组件:
 Collections  Address Book  Networking
 File Access  SQLite  Core Location
 Net Services  Threading  Preferences
 URL Utilities
第三层是媒体层,通过它我们能够在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果。它包含下面这些组件:
 Core Audio  OpenGL  Audio Mixing
 Audio Recording  Video Playback  JPG,PNG,TIFF
 PDF  Quartz  Core Animation
 OpenGL ES
最上面一层是可触摸层,这一层为我们的应用程序开发提供了各种实用的框架,而且大部分与用户界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作。它包含下面这些组件:
 Multi-Touch Events  Core Motion  Camera
 View Hierarchy  Localization  Alerts
 Web Views  Image Picker  Multi-Touch Controls
在Cocoa Touch层中的非常多技术都是基于Objective-C语言的。Objective-C语言为iOS提供了像集合、文件管理、网络操作等支持。像 UIKit框架,它为应用程序提供了各种可视化组件,比方像窗体(Window)、视图(View)和button组件(UIButton)。Cocoa Touch层中的其它框架,对我们在应用程序中的开发来说也是非常实用的,如訪问用户通信录功能框架、获取照片信息功能的框架、负责加速感应器和三维陀螺仪等硬件支持的框架。

iOS框架介绍

什么是框架?本质上来说它是帮助我们完毕各种特定功能的软件库。
我 们编写的应用程序项目,都是从Cocoa Touch层開始的,详细来说就是从UIKit Framework開始的。当在编敲代码的过程中须要用到一些特殊功能的时候,我们应该从框架的最顶端技术開始寻找对应的框架,仅仅有在上层结构无法解决时,才干使用其下层的技术。事实上,顶层的框架已经涵盖了我们绝大多数须要的功能。
表1-1列出了一些经常使用的iOS SDK框架。

 IOS框架概览

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118553.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • .net 常用开源框架

    .net 常用开源框架Json.NETCodePlexArchiveJson.Net是一个读写Json效率比较高的.Net框架.Json.Net使得在.Net环境下使用Json更加简单。通过LinqToJSON可以快速的读写Json,通过JsonSerializer可以序列化你的.Net对象。让你轻松实现.Net中所有类型(对象,基本数据类型等)和Json的转换。Math.NETMath.NETMath.NET的目标是为提供一款自身包含清晰框架的符号运算和数学运算/科学运算,它是C#开发的开.

    2022年7月15日
    23
  • Java实习生面试题分享

    Java实习生面试题分享1 Java 有那些基本数据类型 String 是不是基本数据类型 他们有何区别 Java 语言提供了八种基本类型 六种数字类型 四个整数型 两个浮点型 字节型 byte8 位短整型 short16 位整型 int32 位长整型 long64 位单精度 float32 位双精度 double64 位一种字符类

    2025年7月30日
    5
  • ip addr命令设置网关_linux查不到ip地址

    ip addr命令设置网关_linux查不到ip地址删除ip:echo”##########osremovevip”ipaddrdel192.168.56.101/24devbond0labelbond0:1ipaddrdel192.168.165.101/24devbond1labelbond1:1echo”##########osremovephyip”ipaddrdel192…

    2022年7月27日
    12
  • python中求平均值(python调用自定义函数)

    该楼层疑似违规已被系统折叠隐藏此楼查看此楼defma(x,y):”’#自定义函数“ma(x,y)”指南函数格式:ma(x,y)函数功能:求序列数据x的y周期的简单平均值,输出值为序列平均值、即列表。函数使用举例:#输入:L=[1,2,3,4,5]ma(L,3)#输出:[2.0,3.0,4.0]#输出注解:(1+2+3)/3=2.0(2+3+4)/3=3.0(3+4+5)/3=4.0…

    2022年4月12日
    375
  • pycharm运行卡死_pycharm调试快捷键

    pycharm运行卡死_pycharm调试快捷键就跑着跑着莫名其妙卡住,具体表现在左下角的Debugger一片空白,变量监视也啥都没有原链接:https://www.jianshu.com/p/8a8a93c330b5感谢这位大佬!我们在使用PyCharm进行Python代码调试查看具体变量时,会随机遇到一直显示collectingdata,到最后报错Timeoutwaitingforresponse,在界面中看不到变量内部的内容,导致Debug卡死的问题。在PyCharm中,打开Setting界面,在如下设置项中勾选“Geventc

    2022年8月28日
    5
  • resin之jvm优化「建议收藏」

    resin之jvm优化「建议收藏」     经过几天的测试,系统终于较以前有所稳定了,特把优化后的参数发布出来,供朋友们一起讨论我的服务器配置:至强双CPU2.2G,ECC内存4G,硬盘70G,操作系统:AS4jdk1.5.0_02     没优化之前,服务器经常抛出内存溢出,物理内存居高不下,还经常抛出keepalive超过最大值500。服务器一天重启两三次,客户抱怨声不断。 <jvm-arg>-Xm…

    2022年5月22日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号