关闭

《iOS 编程 第四版》——第一、二章学习笔记

标签: ios开发编程objective-ciOS
436人阅读 评论(0) 收藏 举报
分类:

教,是最好的学。写在这里的学习笔记,既是写给刚刚开始学习iOS开发的初学者,也是写给自己的。

写博客,就是把大脑中的缓存释放出来,腾出内存让大脑这个CPU可以更高效地去学习,同时博客也起到了一个硬盘保存的作用,随时可以回来温习,正所谓“温故而知新”。


回到正题,《iOS 编程》这本书,是Big Nerd Ranch出的,只要你有稍微的C或Objective-C基础,就可以开始看这本书了,前几章还会将重点的Objective-C 的知识再介绍一遍。因为作者是在美国长期从事编程培训方面的,所以教材编排非常好,循循善诱。而且不是填鸭式地教学,而是会给你初级、中级、高级的练习,为的是让你学会如何脱离“拐杖”独立地去学习和开发自己的App。


第一章

首先通过一个相对简单的“Quiz”应用,让读者可以迅速对iOS开发一个App建立一个大体而直观的了解。

1.项目从哪里开始?当然是从Xcode开始了,建立一个iOS中的Empty Application(对于初学者,其它模板生成的很多通用代码,弊大于利)。

2.iOS开发遵循严格的MVC(即Model-View-Controller),那我们的App也就从以下三个方面来建立。

3.首先创建Controller部分,其实是叫View Controller(其实容易和View混淆,谁让Apple这么规定的呢),由后缀为.h的头文件和后缀为.m的实现文件组成,通过View Controller来调取Model的数据,并且更新View的显示,在其中充当了一个桥梁和管家的作用。在View Controller里定义好需要用到的IBOutlet变量和添加IBAction方法。

4.然后来创建View的部分,有几种方法:storyboard、xib和手写代码,本章用的是xib,之后会介绍另外两种方法。把App需要的几个Label和Button拖动到xib的视图上就可以了。之后再与View Controller创建关联,采取拖拽一根线把二者连接起来的方式。

5.之后就是Model部分的创建,需要用到属性property和NSarray数组。

6.实现之前添加的IBAction动作方法,我们的App就可以运行起来了,按下Command+R,在iOS simulator中就可以看到自己开发的第一个App了,我做了一版脑筋急转弯的Quiz,自己自娱自乐一下:)


P.S.如果想把App跑在自己的iPhone上怎么办呢?

两个方法:

1.购买Apple的开发者会员账号,个人用户年费99刀(人民币688元),不过Apple宣布Xcode7发布之后,个人用户开发App跑在自己的iOS设备上是可以不用交这99刀的(除非你要上Apple Store)。

2.如果等不及Xcode7的发布,可以上淘宝买一个Xcode真机调试账号,10~20元左右,根据客服的指导,再在网上搜一些教程,也能实现。说实话,第一次看到iPhone上运行着自己开发的App,着实小小地激动了一把,会激励你把iOS开发继续学下去的。


第二章

第二章开始介绍我们开发iOS应用的编程语言——Objective-C(Apple2014年发布了Swift,所以现在学习iOS开发的门槛不是低了,而恰恰是变高了,因为需要同时掌握两门语言),不过不管怎样,Objective-C你是绕不开的,在公司做iOS开发,难道不需要维护之前用Objective-C写的项目吗?

1.首先Objective-C源自C语言、是C语言的扩展,所以你也可以自由地调用C语言的函数。但是最重要的是,Objective-C是面向对象的,所以开头就讲解了对象的概念。其实汽车的例子是很适合来讲解对象的。比如汽车是一个类,宝马汽车是汽车的一个子类,你刚买的宝马X5是宝马车的一个实例,你的宝马X5具有颜色(比如黑色)的属性、排量的属性、座位数量的属性,同时也有方法,比如洗车、给汽车加油。总之面向对象编程就像是把现实世界的东西搬到了编程语言中(像不像之前乔布斯时代iOS的拟物化设计)

2.通过编写一个基于Foundation的Command-Line-Tool应用——RandomItems,来讲解相关的知识点。

3.一些要点:比如初始化方法,以及一个类有不止一个初始化方法、指定初始化方法。

4.Objective-C的类是以层次结构存在的,顶层是NSObject类,这是一个根类,所以的类都源自于它。

5.main()函数是C或Objective-C程序的入口点(entry point)。

这本书的确写得很好,而且对于随身携带大部头的书不便的我们来说,我在多看上购买了电子版,出门的时候也可以随时看看。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6587次
    • 积分:187
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条