IOS应用开发实战(一)(极客班)

一、导论

1、社区

(1)Apple官方资源
·Mac APP Store
·Xcode文档库
·iOS Dev Center
·http://developer.apple.com
(2)第三方
·stackoverflow
·ourcoders/cocoachina/v2ex
·github

2、课程目标

(1)入门:熟悉iOS界面制作
(2)进阶:理解iOS应用开发、具备从事iOS应用开发工作的基础、具备自主学习的基础

3、学习要求

(1)学习:认真观看视频、在理解的基础上整理学习笔记
(2)练习:在不看视频的情况下,将演示的例子做一遍、完成课后要求的练习、选做的练习也尽可能多做
(3)时间:学习+练习预计至少占用每天两个小时的时间。

4、参考资料

(1)http://www.oreilly.com/pub/au/249
(2)iOS7 programming
(3)官方指南、WWDC视频。

二、HelloiOS

1、Xcode使用

(1)New Project
(2)Xcode界面简介

IOS应用开发实战(一)(极客班)_第1张图片
Paste_Image.png

(3)Interface Builder简介
(4)在模拟器中运行
(5)在真实设备上运行

2、APP基本概念

(1)iOS APP的代码结构
·main()
·UIApplicationMain()
·UIApplication对象
·UIApplicationDelegate
(2)iOS APP运行环境
·Sandbox
·运行期目录结构:NSHomeDirectory()

3、Bundle

(1)iOS应用是一个Bundle
·Bundle:带有Info.plist的目录
·NSBundle类
·mainBundle
·resource bundle和framework

三、Button

1、会打招呼的应用

IOS应用开发实战(一)(极客班)_第2张图片
Paste_Image.png

2、界面与代码分离

可以只用代码来描绘界面及响应用户的操作,但是不直观且调整麻烦
iOS使用Interface Builder来描绘界面,保存到xib文件中。
用代码来更新界面、响应用户操作,保存在m文件中。

3、outlet

(1)为了让代码能应用nib中的对象,需要代码里有一个变量来引用界面对象,在界面对象创建后给这个变量赋值。
(2)outlet:IBOutlet标记的变量
(3)outlet connection

IOS应用开发实战(一)(极客班)_第3张图片
Paste_Image.png

4、action connection

IOS应用开发实战(一)(极客班)_第4张图片
Paste_Image.png

5 、Demo

在Interface Builder中制作界面,只需要拖动所需的界面对象到Interface Builder中即可,在ViewController中添加响应代码

6、UIButton

IOS应用开发实战(一)(极客班)_第5张图片
Paste_Image.png

7、代码创建UIButton

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setBackgroundImage:[UIImage imageNamed:@"okbtn"]forState:UIControlStateNormal];
[btn setTitle:@"OK"forState:UIControlStateNormal];
[btn addTarget:selfaction:@selector(greeting:)forControlEvents:UIControlEventTouchUpInside];
event mask:UIControlEventTouchUpInside|UIControlEventTouchOutside

四、image

1、Assert Catalog

Assert Catalog是一个图片管理器,针对不同的iOS设备,可视化的管理不同的分辨率。
(1)打开xcode后选择Asserts.xacssets用来编辑图片。
(2)Asserts.xacssets的编辑区里有Appicon,这是程序显示在设备上的图标。
(3)矢量图:可以无限放大,不变色,不模糊。

2、UIImageView

用UIImageView在Interface Builder显示图片,UIImageView有很多不同属性可以根据需求设置
(1)加载App bundle中的图片

1、image = [UIImage imageNamed:@"mypic"];
2、image = [UIImage imageNamed:@"mypic"inBundle:nil compatibleWithTraitCollection:nil];
3、NSURL *url = [[NSBundle mainBundle]URLForResource:@"mypic"withExitension:@"png"];
UIImage *image = [UIImage imageWithContentsOfFile:path];
UIImage *image = [UIIMage imageWithData:data];

(2)加载动画
将一段连续的图片加载到App Bundle中,命名由相同名字+数字

五、猜城市

IOS应用开发实战(一)(极客班)_第6张图片
Paste_Image.png
IOS应用开发实战(一)(极客班)_第7张图片
Paste_Image.png
IOS应用开发实战(一)(极客班)_第8张图片
Paste_Image.png
IOS应用开发实战(一)(极客班)_第9张图片
Paste_Image.png

六、猜城市代码解释

(1)控制界面刷新的ViewController不应该放入业务逻辑,只负责从页面上拿信息和更新页面的状态,应该新建一个类来描述游戏逻辑
(2)#pragma mark预处理器文法用来查找和导航代码用,在代码编辑器的导航栏插入我们想要的标题。
(3)id和instancetype都可以作为方法的返回类型,instancetype可以返回和方法所在类相同的对象,id只能返回未知类型的对象。

你可能感兴趣的:(IOS应用开发实战(一)(极客班))