DevStore首页 > 文章 >文章详情

IOS主要系统框架介绍

boys113 | 2015-08-02 09:10    浏览量(1548)    评论(1)   推荐(0)

框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。

IOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它。许多应用程序都使用了如Foundation、UIKit、和Core Graphics这些框架。根据你为应用程序选择的模版,相关的框架就已经被自动引入了。如果默认加入的框架不能满足你的应用程序的需求,你也可以加入需要的框架。

看看HelloWorld.xcodeproj项目里都包含了哪些框架(注:HelloWorld.xcodeproj是《Your First iOS App tutorial》这篇教程里的一个项目)

1.在XCode里打开HelloWorld.xcodeproj项目(如果还没有打开)

2.在project navigator窗口里点击,点击Frameworks目录前面的三角形图标。你会看到:

UIKit.framework,Foundation.framework, 和CoreGraphics.framework

3.点击任意一个framework前面的三角,然后再点击Headers前面的三角,可以看到框架里的头文件。

每个框架对应IOS系统里的一层,每层建立在它下面层的上面。应该尽量使用上层的框架来代替下面的框架。更高层次的框架是对底层框架基于对象的抽象。

iOS应用程序基于Foundation和UIKit框架

在你开发程序时,主要使用框架就是Foundation和UIKit,因为它们包含了你需要的大部分东西。

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

你的应用程序,UIKit和其它的框架都是建立在Foundation框架上面的。Foundation框架是用Object-C对Core Foundation框架里许多特性的封装。

使用Foundation可以:

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

访问存储在应用程序里的图片和其它资源

创建和管理字符串

提交和接收通知

创建日期和时间对象

自动发现IP网络上的设备

操作URL流

执行异步代码

你已经在《Your First iOS App》里使用到了Foundation框架。比如,你使用一个NSString类的实例存储用户输入的userName。你还使用了Foundation框架的initWithFormat方法创建了一个字符串。

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

所有的iOS应用程序都基于UIKit,你不能是应用程序脱离这个框架。UIKit提供了在屏幕上绘制的机制,捕获事件,和创建通用用户界面元素。UIKit也通过管理显示在屏幕上的组件来组织复杂的项目。

使用UIKit可以:

构建和管理你的用户界面

捕获触摸和基于移动的事件

呈现文字和web内容

优化你的多任务程序

创建定制的用户界面元素

在《YouFirst iOS App Tutorial》里,你也使用到了UIKit。当你仔细查看程序是怎么运行起来的时候,你会看到UIApplicationMain函数创建一个UIApplication类的实例,这个实例会捕获进来的用户事件。你实现UITextFieldDelegate协议,然后在用户按下Done时隐藏键盘。实际上,你是在使用UIKit创建用户界面上的UITextField, UILabel,和UIButton类。

你需要知道的其它重要的框架

Core Data , Core Graphics, Core Animation,和OpenGLES框架都是高级的技术。所以这些框架对于你开发应用程序也是很重要的,它们都需要时间去学习和掌握。

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

Core Data提供对象的管理,使用Core Data,你可以创建模型对象,并管理这些对象。你管理这这些对象间的联系并修改数据。Core Data提供的内建SQLlite技术可以高效的管理数据。

使用Core Data可以:

在库里存储和接收对象

提供基本的undo/redo

自动验证属性值

过滤、分组和优化内存中的数据

用[NSFetchedResultsController]管理表视图中的结果

支持基于文档的应用程序

Core Graphics框架帮助你创建图形

高质量的图形对于所有的iOS应用程序都是很重要的。在iOS中最简单且最快捷的创建图形的方式是使用UIKit框架提供的基于预渲染图形的视图和控件,然后让UIKit和iOS完成绘制。但是当你需要创建复杂的图形时,Core Graphics则提供了更底层的库来帮助你。

使用Core Graphics可以:

创建基于路径的绘图

抗锯齿渲染

添加梯度、图片和颜色

Use coordinate-space transformations.

创建、显示和分析PDF文档

Core Animation允许你创建高级的动画和虚拟效果

UIKit提供建立在Core Animation之上的动画。如果你需要比UIKit能力更高级的功能,可以直接使用Core Animation。Core Animation接口包含在Quartz Core框架里。使用Core Animation可以创建嵌套的对象,并且可以对它们操作、旋转、缩放和转换。使用Core animation,你可以创建动态的用户界面而不用使用更底层的图形API,如OpenGL ES。

使用Core Animation可以:

创建定制动画

添加定时函数和图形

支持帧动画

Specify graphical layout constraints.

Group multiple-layer changes into anatomic update.

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

OpenGL ES支持2D和3D绘图,Apple的OpenGL ES实现通过硬件提供了高速的全屏游戏式的应用程序。

使用OpenGL ES可以:

创建2D和3D图形

创建更复杂的图形,比如数据虚拟化、模拟飞行,或者视频游戏

访问底层图形设备

  •   赞(1) 赞 +1 赞(1) 已赞
  •   收藏(2) 收藏 +1 已收藏 取消
  •   推荐上头条 推荐 +1 推荐上头条 已推荐
评论(1)
yanyan

yanyan 2015-08-03 15:04:52

要是有详细的视频就更OK了。
回复(0) 赞(0) 赞(1)

文章上传作者

  • 78 能力值
  • 53 文章
  • 0 投稿

boys113的热门文章

热门文章

暂时没有热门文章噢~