ios开发学习笔记(一)
买macbook都好久了,目的就是为了学ios开发,一直没有机会,今天终于得到老大的授权,可以研究一下ios的开发了。
边做边学:先打开xcode,选择create a new xcode project,
其中可以选择ios项目和os x项目,ios项目中包括:
1,应用程序
2,框架和库文件
3,其他
os X项目中包括:
1,应用程序
2,框架和库
3,应用程序插件
4,系统插件
5,其他
我们做的是ios应用程序项目,所以选在ios项目的1选项,在ios应用程序项目中又包括:详细应用程序、openGl 游戏应用程序,基于页面的应用程序,单视图应用程序,tab应用程序,实体应用程序和空应用程序。前边几个虽然没有用过,但是顾名思义,我们可以大致猜到他们有什么用途,现在我们为了简单,新建一个空应用程序。
点击next,出现的界面会让用户填入产品名称,组织名称,公司识别名称和设备名称等。点击next,下一步Xcode会让你选择此工程文件需要存放的路径以及为此工程创建本地git目录,此目录会保存你做过的所有修改,像svn一样的version control,点击create创建工程后,会进入xcode主界面,样式如下:
可以从下图中看到:我们的工程的目录:
其中有三个大文件夹,包括Test,FrameWorks和Products,Products中的.app文件是我们最后编译代码生成的安装文件,此处不多讲,先重点看一下FrameWorks文件夹:
IOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它。许多应用程序都使用了如Foundation、UIKit、和Core Graphics这些框架。根据你为应用程序选择的模版,相关的框架就已经被自动引入了。如果默认加入的框架不能满足你的应用程序的需求,你也可以加入需要的框架,刚才创建的是empty application,所以里边只有三个.framework文件。
1,UIKit.framework,
2,Foundation.framework
3,Coregraphics.framework
点击任意一个framework前面的三角,然后再点击Headers前面的三角,可以看到框架里的头文件。
每个框架对应IOS系统里的一层,每层建立在它下面层的上面。应该尽量使用上层的框架来代替下面的框架。更高层次的框架是对底层框架基于对象的抽象。
iOS应用程序基于Foundation和UIKit框架
在你开发程序时,主要使用框架就是Foundation和UIKit,因为它们包含了你需要的大部分东西。
Foundation框架为所有的应用程序提供基本系统服务
你的应用程序,UIKit和其它的框架都是建立在Foundation框架上面的。Foundation框架是用Object-C对Core Foundation框架里许多特性的封装,使用Foundation可以:
- 创建和管理集合,比如数组和字典
- 访问存储在应用程序里的图片和其它资源
- 创建和管理字符串
- 提交和接收通知
- 创建日期和时间对象
- 自动发现IP网络上的设备
- 操作URL流
- 执行异步代码
UIKit框架提供创建基于触摸用户界面的类
- 构建和管理你的用户界面
- 捕获触摸和基于移动的事件
- 呈现文字和web内容
- 优化你的多任务程序
- 创建定制的用户界面元素
你需要知道的其它重要的框架
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可以:- 创建定制动画
- 添加定时函数和图形
- 支持帧动画
- 精确定义图形版型
- 自动刷新多层改变
OpenGL ES 框架提供2D和3D绘图工具
OpenGL ES支持2D和3D绘图,Apple的OpenGL ES实现通过硬件提供了高速的全屏游戏式的应用程序,使用OpenGL ES可以:- 创建2D和3D图形
- 创建更复杂的图形,比如数据虚拟化、模拟飞行,或者视频游戏
- 访问底层图形设备
根据需要向项目中添加其它框架
还有许多框架可以添加到你的程序里。当你决定使用一个框架但项目里却没有引入这个框架时,你就需要将它加入到你的项目里。将别的框架添加到工程里
1 打开project editor
2 点击project editor顶部的Build Phases
3 点击Link Binary With Libraries前面的三角形打开这个分组
4 通过点击添加(+)来添加一个框架
5 在列表中选择一个框架,然后点击Add按钮