花了三天半的时间熟悉了OC的基础语法和应用,虽然不是很熟悉,但是结合之前一些语言的学习经验,也能够迁移一些经验。今天开始学习IOS开发。看的教程是《精通IOS开发(第六版) 英文版》,讲的是IOS7的开发。虽然如今IOS8已经有了比较多的应用,网上很多教程也开始讲Swfit,但看了许多经验人士的建议,还是从OC学起。IOS7也足够自己学习很长一段时间,以此来熟悉IOS的开发流程。这也是第一次看英文版的书籍来学习。IOS开发技术更新很快,如果跟着国内的翻译来学习的话,大概永远都跟不上变化。不仅仅是IOS开发,只有英语能力上升,才能更好的查阅和学习新的技术。
(书中的是IOS7和XCODE5的界面,而我这里是用IOS8.2和XCODE6.2的界面,所以有些文件不一样,有些问题可能在后面发现后才能补充上来)
这是建立一个简单的APP project 后显示的界面。可以看到中间显示的是这个项目的一些信息。包括版本信息,Build次数,适用的IOS版本等等信息。左侧就是一个project包含的文件。首先看到APP下有三个文件,分别是APPname,APPNameTests,product三个文件。这三个文件分别是项目资源文件,项目测试文件,和编译后的程序。
打开APPname文件,可以看到有一串文件
Main.storyboard 包含了用户操作界面
Support Files里面是一些资源文件,比如图片,音频等等。
Main.m ,软件的入口,主程序。
APPDelegate 字面意思是APP托管,应该是IOS系统对APP的监听用途。具体在后面学习中应该会了解到。
viewController 视图控制,字面意思容易理解,但具体的工作应该要在后续的学习中了解
打开APPNameTests 文件,有个.m文件和Support文件,可见这个应该是一个单元测试文件夹。
最后一个product文件打开后可以看到Support文件和一个APP文件,可见这个是编译后的结果文件。
接下来是
Xcode’s interface Builder
Xcode的一个可视化设计工具。通过点击Main.storyboard就可以进入了。可以看到一块白色区域。类似其他可视化设计界面,通过拖动组件就可以自动完成代码。
Xcode’s interface Builder 支持几种不同的文件类型。最老的是.nib类型,它的近亲是xml文件归属方式.xib文件,而现在,.xib文件被广泛的应用。每种.nib可以包含任何数量的类型。但在IOS项目中,每个nib常只包含一种视图和控制器,或是其他的obj和它相连。这样,在每次视图展示的时候我们只需要载入一个nib,因此节约了程序的内存占用。
此外,前几年,IB开始支持一种叫storyboard的文件。这种文件可以认为是一种nib的变体。因为storyboard同样记录了多种视图和控制器,还有不同视图之间是如何联系的。不同于nib一次性载入,storyboard是由开发者决定什么时候载入哪一种视图和控制器.
在main.storyboard中,我们可以通过写代码或者拖拽组件来丰富面板。而控制器则是用来决定这些组件的功能。控制器是组件真正据诶的那个组件功能的地方。
点击白色区域,会出现三个图标,分别是view Controller,First Responder,exit.在这里先不讨论exit。
view Controller 是用来表达被载入的控制和其附属的视图。
First Responder 是当前相应界面。当用户对某个组件进行操作的时候,在First Responder中就会有相应。通过这个部分,我们不需要通过代码来知道当前相应的控制器或者组件是什么。
在视图的右边,有Library,如果没有,可以通过快捷键(option-command–0) 来打开。
Library的顶端有四个图标,分别写着代表不同类型的obj。
从左到右依次为:
File template library:可以创建一个新的文件到项目中。如oc文件.m,头文件.h等等
Code snippet library:一些语法结构,如oc中block,c中struct等等
Object library : 控件库。包括了控件和控制器。可以通过拖拽到空白view上实现。
Media library :多媒体库
通过搜索栏可以快速搜索到自己需要的组件。
最后一个简单label组件实例 Hello World.