zoukankan      html  css  js  c++  java
  • 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框架

    该框架用于进行大规模的数学计算和图形计算。

  • 相关阅读:
    java1.8 ConcurrentHashMap 详细理解
    java 常见高级开发面试题 非算法等特定岗 一
    java.util.concurrent各组件分析 一 sun.misc.Unsafe
    分布式锁 并发 自旋 优化 二
    分布式锁 并发 自旋 优化
    TreeMap 原理
    java8 LinkedHashMap 原理
    SpringBoot启动zipkin-server报错Error creating bean with name ‘armeriaServer’ defined in class path resource
    spring cloud启动zipkin,报错maven依赖jar包冲突 Class path contains multiple SLF4J bindings
    springboot2.0 management.security.enabled无效
  • 原文地址:https://www.cnblogs.com/cchHers/p/11265451.html
Copyright © 2011-2022 走看看