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框架概览

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 史上最全的微信小程序代码大全源码下载[通俗易懂]

    史上最全的微信小程序代码大全源码下载[通俗易懂]小程序QQ交流群:131894955 开发文档:http://shop.jeewx.com/#/doc/rumen 小程序CMS官网源码下载 源码链接:https://gitee.com/jeecg/jeewx-app-cms JAVA版微信管家平台(各种微信活动、公众号管理) 源码地址…

  • tomcat启动时乱码(tomcat打开是乱码)

    一、乱码图示二、解决方案1.进入安装路径下的conf文件夹>>找到logging.properties使用记事本打开2.找出图中的代码,将其修改为java.util.logging.ConsoleHandler.encoding=GBK三、验证是否解决问题进入命令行窗口,输入startup.bat运行乱码问题解决…

  • 城市三级联动

    城市三级联动

  • mysql 多行转一列_mysql行转列(多行转一列)

    mysql 多行转一列_mysql行转列(多行转一列)场景比如说一个订单对应多条数据,当状态(status)=1的时候,数量(num)=25,当状态(status)=2的时候,数量(num)=45,现在想用一条sql记录下不同状态对应的数量为多少,如下图所示:期待结果->sql语句示例SELECTtrades_id,MAX(CASEWHENapply_status=1THENpay_changeELSE0END)’nu…

  • 【ArcGIS二次开发】鹰眼的实现「建议收藏」

    【ArcGIS二次开发】鹰眼的实现「建议收藏」1、添加程序集usingESRI.ArcGIS.Carto;usingESRI.ArcGIS.Controls;usingESRI.ArcGIS.DataSourcesFile;usingESRI.ArcGIS.Geodatabase;usingESRI.ArcGIS.DataSourcesRaster;usingESRI.ArcGIS.Geometry;usingESRI.ArcGIS.Display;usingESRI.ArcGIS.esriSystem;*出现“命名

  • redhat配置yum源服务器_redhat7网络yum源配置

    redhat配置yum源服务器_redhat7网络yum源配置配置yum源redhat默认自带的yum源需要注册才能更新,可以更换成Centos的yum源.文章目录配置yum源前言一、yum源的工作原理?二、yum配置步骤1.查看系统已经安装的yum2.删除自带的yum包3.下载相关的安装包4.安装包5.下载配置文件6.更新前言Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动

发表回复

您的电子邮箱地址不会被公开。

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