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 ...
随机推荐
- 题解【CodeForces171C】A Piece of Cake
Description 给你\(n\)个数,求出\(\sum_{i=1}^{n} a_{i}\times i\qquad\) Input 共\(n + 1\)个数,分别为\(n\)和\(n\)个数\( ...
- EQ实现
原理参考: https://www.cnblogs.com/fellow1988/p/9189338.html https://www.cnblogs.com/fellow1988/p/9136346 ...
- 一些常用的css
不换行 white-space:nowrap table纵向合并的单元格垂直居中 display:table-cell; vertical-align:middle; table合并横向单元格 c ...
- arcgis中的load data加载数据
该工具通过设定字段的对应关系将一个要素类(feature class)的数据加载到另一个要素类里面.通过选择应加载到每个目标字段中的源字段,将匹配源字段中的数据加载到目标数据中. 还可以设置查询,仅加 ...
- IntelliJ IDEA 2017.3尚硅谷-----界面展示
- opencv:形态学梯度
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...
- 深度学习之tensorflow框架(下)
def tensor_demo(): """ 张量的演示 :return: """ tensor1 = tf.constant(4.0) t ...
- 动手实现CapsNet系列——1 概述
Geoffrey Hinton是深度学习的开创者之一,反向传播等神经网络经典算法发明人,他在17年年底和他的团队发表了两篇论文,介绍了一种全新的神经网络,这种网络基于一种称为胶囊(Capsule)的结 ...
- Go常量
1. 常量 package main import "fmt" func main() { /* 常量: 1.概念:同变量类似,程序执行过程中数值不能改变 2.语法: 显式类型定义 ...
- ASP.NET Core搭建多层网站架构【0-前言】
2020/01/26, ASP.NET Core 3.1, VS2019 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构 目录 0-前言 1-项目结构分层建立 2-公共基 ...