iOS中的主要框架framework
在日常的iOS项目开发中,主要使用的就是Foundation和UIKit这两个框架。
(一)Foundation框架
Foundation是对Core Foundation框架的一个封装,使用Foundation框架干的活大致就是:
- 创建和管理集合,比如NSArray、NSDictionary、Set
- 访问存储在应用程序里的图片和其他资源
- 创建和管理字符串
- 自动发现IP网络上的设备
- 操作URL流
- 执行多线程代码
(二)UIKit框架
所有的iOS应用程序都要基于UIKit,不能脱离这个框架。使用UIKit框架干的活基本就是:
- 构建和管理用户界面
- 各种触摸事件和基于加速计的事件
- 呈现文字和web内容
- 优化多任务程序
- 自定义UI控件
把上面两个框架玩溜了,日常的iOS业务项目基本都能顺利完成。其他框架的API基本就是零零散散的使用,如果项目中有些“特殊要求”需要使用到其他的框架API,也基本上是“固定模式”的使用。不像Foundation和UIKit框架,一定要熟练熟练再熟练。
当然,终有一天你会厌倦只有Foundation和UIKit的日常。下面介绍一些iOS中的其他一些框架功能简介,看看是否有你感兴趣的前进方向。
(三)Core Data框架
该框架提供了对数据的管理,有其内建的SQLite数据库作为支撑。
- 存储和查询数据
- 提供基本的undo/redo
- 自动验证属性值
- 过滤、分组和优化内存中的数据
- 支持基于文档的应用程序
(四)Core Graphics框架
高质量的图形对于所有的iOS应用程序都是很重要的。在iOS中最简单且最快捷的创建图形的方式是使用UIKit框架提供的基于预渲染图形的视图和控件,然后让UIKit完成绘制。这就是我们平时绘制图形的方式,比如使用UIView创建一些矩形、圆形等形状的结合来创建一些简单的图形。但是如果需要创建复杂的图形时,简单地靠UIKit中各种控件的组合,肯定是“力不从心”的,Core Graphics框架则提供了更底层的库来实现复杂图形的创建。
- 创建基于路径的绘图
- 抗锯齿渲染
- 添加梯度、图片和颜色
- 坐标系转换
- 创建、显示和分析PDF文档等
(五)Core Animation框架
UIKit提供了在Core Animation之上的动画,也就是常说的UIView动画,可用于项目中“稍微适当的”动画效果,显得比较自然。但是如果想把“动画”当作一件“正儿八经”的要求,那就需要比UIKit能力更高级的功能,也就是使用Core Animation框架。Core Animation接口是包含在Quartz Core框架里的。用于创建更高级的动画和虚拟效果。
- 创建定制的动画
- 添加定时函数和图形
- 支持帧动画
(六)OpenGL ES框架
该框架支持2D和3D绘图,实现通过硬件提供高速的全屏游戏式的应用程序。UIKit提供简单的矩形和圆形等简单图形的“组合”,Core Graphics可以利用路径来绘制图形,但是更加复杂的比如视频播放、游戏画面等,连Core Graphics都会显得“力不从心”,因此需要更为底层更为硬件的API支持。
- 创建2D和3D图形
- 创建更复杂的图形,比如数据虚拟化、模拟飞行,或者视频游戏等
(七)Accelerate框架
该框架用于进行大规模的数学计算和图形计算。
iOS中的主要框架framework的更多相关文章
- IOS 中的CoreImage框架
IOS 中的CoreImage框架(framework) - time4cnblogs 时间 2014-03-15 00:24:00 博客园-所有随笔区原文 http://www.cnblogs. ...
- iOS - 系统经常使用框架(framework)的简介
系统框架(framework)的简介 ImageIO - 该框架的接口可用于导入或导出图像数据及图像元数据 CoreTelephony - 获取IMSI号,SIM卡背面的号码是SIM卡的电子串号, ...
- IOS 中的CoreImage框架(framework)
http://www.cnblogs.com/try2do-neo/p/3601546.html coreimage framework 组成 apple 已经帮我们把image的处理分类好,来看看它 ...
- IOS中调用系统的电话、短信、邮件、浏览功能
iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...
- iOS 开发之照片框架详解
转载自:http://kayosite.com/ios-development-and-detail-of-photo-framework.html 一. 概要 在 iOS 设备中,照片和视频是相当重 ...
- iOS引入JavaScriptCore引擎框架(二)
为何放弃第一种方案 UIWebView的JSContext获取 上篇中,我们通过简单的kvc获取UIWebVIew的JSContext,但是实际上,apple并未给开发者提供访问UIWebVi ...
- iOS 开发之照片框架详解(1)
http://kayosite.com/ios-development-and-detail-of-photo-framework.html/comment-page-1 一. 概要 在 iOS 设备 ...
- iOS开发中静态库之".framework静态库"的制作及使用篇
iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...
- iOS中集成ijkplayer视频直播框架
ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集成ijk ...
随机推荐
- java.util.UUID工具类
生成数据表的主键Id会用到此工具类 /** * <获取主鍵> * <获取32位UUID> * @return * @see [类.类#方法.类#成员] */ public st ...
- Java-POJ1008-Maya Calendar
题意:两种纪年方法的转换 水题,根据题目翻译成代码就可以了 居然WA了一次,避坑,output要先输出数据组数,痛心疾首啊!本来可以一次AC的. package poj.ProblemSet; imp ...
- 调用原生硬件 Api 实现照相机 拍照和相册选择 以及拍照上传
一.Flutter image_picker 实现相机拍照和相册选择 https://pub.dev/packages/image_picker 二.Flutter 上传图片到服务器 ht ...
- JS 每次进入自动加载JS
对于动态文件,比如 index.asp?id=... 或者 index.aspx?id=... 相信有经验的程序员都知道怎样禁止浏览器缓存数据了.但是对于静态文件(css,jpg,gif等等), 在什 ...
- [AGC027E]ABBreviate
Description AGC027E 给定一个仅由\(AB\)构成的字符串\(S\),给定两个操作,把\(AA\)换成\(B\),和把\(BB\)换成\(A\),问由这个字符串和任意次操作可以得到几 ...
- net core,redis的安装和试用
一.window上面安装reids 在github上面下载,地址 安装完成后,进入安装目录打开redis服务, 这里双击Redis服务器即可启动Redis. 二.安装redis可视化工具 命令行操作r ...
- GitHub网页版基本操作
创建存储库 登录GitHub进入主页,点击头像左边的加号,创建存储库 填写存储库名称.描述,根据需求设置其他选项.点击“Create repository”按钮 创建分支 打开之前创建好的存储库,点击 ...
- SQLite 3 中的数据类型
SQLite使用动态类型系统,在SQLite中,值的数据类型和值本身,而不是和它的容器,关联在一起的.SQLite的动态类型系统和其他数据库引擎的静态类型系统是兼容的,这样在静态类型的数据库上执行的S ...
- rancher 方式创建nfs-client 存储类流程
rancher 方式创建nfs-client 存储类流程 待办 https://www.iamle.com/archives/2514.html
- JS-常用方法合集
部分方法使用jQuery!!!//tab切换 /* * 参数tablist为触发事件id * 参数tabmain为执行切换id * 参数ev为触发事件的动作 */ function tab(tabli ...