【iOS知识学习】_iOS FrameWork相关知识

框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像、声音文件等其他资源。共享资源库定义应用程序可以调用的函数和方法。

iOS 提供了许多可在应用程序开发中使用的框架。要使用一个框架,请将它添加到项目,以便应用程序可以链接到它。大多数应用程序都链接到 Foundation、UIKit 和 Core Graphics 框架。根据您为应用程序选取的模板,可能也包括其他框架。如果一组核心框架无法满足应用程序的要求,您总是可以将其他框架添加到项目。

每个框架都属于 iOS 系统的一个层。每个层都建立在它的下层之上。尽可能使用较高级的框架,而非较低级的框架。较高级的框架向较低级的结构提供面向对象的抽象。

在iOS的开发中,框架结构如下图:


从图中可以看出,Foundation和UIKit是iOS开发的核心框架,因为他能满足大多数应用程序开发的需求。

Foundation 框架为所有应用程序提供基本的系统服务

您的应用程序以及 UIKit 和其他框架,都建立在 Foundation 框架的基础结构之上。Foundation 框架提供许多基本的对象类和数据类型,使其成为应用程序开发的基础。它还制定了一些约定(用于取消分配等任务),使您的代码更加一致,可再用性更好。

使用 Foundation:

  • 创建和管理集,如数组和字典

  • 访问储存在应用程序中的图像和其他资源

  • 创建和管理字符串

  • 发布和观察通知

  • 创建日期和时间对象

  • 自动发现 IP 网络上的设备

  • 操控 URL 流

  • 异步执行代码

UIKit 框架提供的类,可用于创建基于触摸的用户界面

所有 iOS 应用程序都基于 UIKit。没有这个框架,就无法交付应用程序。UIKit 提供基础结构,用于在屏幕上绘图、处理事件,以及创建通用用户界面元素。UIKit 还通过管理屏幕上显示的内容,来组织复杂的应用程序。

使用 UIKit:

  • 构建和管理用户界面

  • 处理基于触摸和运动的事件

  • 显示文本和网页内容

  • 优化应用程序以实现多任务

  • 创建自定用户界面元素

当然其他的类也很重要,需要我们花更多的时间来学习:

Core Data 框架管理应用程序的数据模型

Core Data 管理对象图。借助 Core Data,您可以创建模型对象(称为被管理的对象)。您管理那些对象之间的关系,并通过框架更改数据。Core Data 利用内建的 SQLite 技术,高效地储存和管理数据。

使用 Core Data:

  • 存储对象和从储存处取回对象

  • 支持基本的撤销/重做

  • 自动验证属性值

  • 对内存中的数据进行过滤、分组和整理

  • 使用 NSFetchedResultsController 管理表格视图中的结果

  • 支持基于文稿的应用程序

Core Graphics 框架帮助您创建图形

高质量的图形,是所有 iOS 应用程序的一个重要组成部分。在 iOS 中创建图形的最简易便捷方法,是将预渲染的图像与 UIKit 框架的标准视图和控制配合使用,并让 iOS 完成绘图。UIKit 还提供用于自定绘图的类,包括路径、颜色、图案、渐变、图像、文本和变换。尽可能地使用 UIKit(较高级的框架),而非 Core Graphics(较低级的框架)。

当您想要编写在 iOS 和 OS X 之间直接共享的绘图代码时,使用 Core Graphics。Core Graphics 框架也称为 Quartz,它在这两个平台上几乎相同。

使用 Core Graphics:

  • 制作基于路径的绘图

  • 使用边缘模糊化渲染

  • 添加渐变、图像和颜色

  • 使用坐标空间变换

  • 创建、显示和解析 PDF 文稿

Core Animation 可让您制作高级动画和视觉效果

UIKit 提供的动画,是建立在 Core Animation 技术之上的。如果您需要超出 UIKit 功能的高级动画,可以直接使用 Core Animation。Core Animation 接口包含在 Quartz Core 框架中。借助 Core Animation,您创建不同层次的层对象,并对它们进行操控、旋转、缩放、变换等等。通过使用大家所熟悉的 Core Animation 视图式抽象,您可以创建动态用户界面,而无需使用低级的图形 API,如 OpenGL ES 等。

使用 Core Animation:

  • 创建自定动画

  • 给图形添加时序功能

  • 支持关键帧动画

  • 指定图形布局约束

  • 将多层更改分组为原子更新

OpenGL ES 框架提供 2D 和 3D 绘图工具

OpenGL ES 支持基础的 2D 和 3D 绘图。Apple 实施的 OpenGL ES 标准,与设备硬件紧密协作,为全屏幕游戏类应用程序提供很高的帧速率。

使用 OpenGL ES:

  • 创建 2D 和 3D 图形

  • 制作更复杂的图形,如数据可视化、飞行模拟或视频游戏。

  • 访问底层图形硬件

详细信息请参考苹果开发者文档:

https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CocoaFundamentals/WhatIsCocoa/WhatIsCocoa.html#//apple_ref/doc/uid/TP40002974-CH3-SW16

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值