iOS开发知识体系

移动开发
之前看过一篇博客,博主梳理一个iOS开发知识与能力体系的思维导图。作者梳理得非常不错但是扩展得非常大。如果是对于初学者来说,看着会被吓跑。在这里我来尝试梳理一下对于iOS初学者的知识体系。

[[142566]]

之前看过一篇博客,博主梳理一个iOS开发知识与能力体系的思维导图,点击这里传送。作者梳理得非常不错但是扩展得非常大。如果是对于初学者来说,看着会被吓跑。在这里我来尝试梳理一下对于iOS初学者的知识体系。

开发环境

Mac

Mac mini、Mac book、iMac、黑苹果、OS X虚拟机都行,但真要好好搞iOS开发那就***不要黑苹果和虚拟机,这样会直接影响你对iOS开发的兴趣。同样,如果你用的是一台MacBook,这样会大大增加你对iOS的开发兴趣(MacBook***的程序员电脑)。PS:如何优雅的使用Mac

Xcode

到苹果开发者中心 下载 并安装。目前可以直接从Xcode 6开始入手了。
这里告诉你如何简单的使用Xcode

到此为止你已经能够安静开发出一个跑在iOS模拟器上的“Hello world”

开发者账号

非必须,如果你想将自己的程序跑在iPhone上的话,它就必不可少了,当然,如果你不是独立应用开发者的话,一般你所在的企业应该都有,让Agent或者Admin邀请你加入就可以了。
这里告诉你怎么理解开发者账号

开发语言

对于任意一门新的技术来说,首先我认为学习其语言肯定是必须的也是首要的,对于iOS开发也不例外。就目前而言,Objective-C、C语言、Swift这三种语言都应该要有所了解,当然重点还是Objective-C。

Objective-C 重中之重,必修必精。 学习地址

C语言 初学需了解,进阶必修。

Swift 未来之星,迟早要精。 学习地址/中文版

iOS SDK

iOS的SDK学习可能是初学者需要耗时最多的一个知识。因为其中有大量的库需要我们来学习掌握。其中最基本的几个为:

Foundation.framework

在你学习使用iOS的过程中,你会碰到大量的"NS"前缀的类库,这些类库基本上属于Foundation.framework,它是iOS开发的核心库,其中包括:常用数据结构(NSArray/NSDictionary/NSString 等)、网络(NSURL../NSHTTP..)、多线程(NSThread/NSNSOperation)等。

UIKit.framework

库使用"UI"为前缀的类库被包含在这个framework中,这些大部分是系统的UI层面的控件。如UIViewController、UIView、UIButton、UILabel等。使用这些控件才能构建出一个完整的APP。

QuartzCore.framework

iOS中绚丽而平滑的动画效果,是吸引人的一大利器,如果你想做出这样的效果,那你就得了解这个库了。iOS的核心动画的API都被包含在这个framework中,学会使用它才能让你的APP更加亮眼。


当然,iOS的SDK中还有很多的framework,它们各自负责着自己的一部分,对于初学者来说,能将以上几个framework的API了解清楚,就已经能做出一个完整的属于自己的APP了。

如何学习这些framework呢?

1.主动学习,***入口当然是最原始的。

img

img

在Xcode的导航栏张找到对应的framework展开Header就可以看到对应的各类的头文件,点击进去就可以看到各个类的公共方法,并且有比较详细的注释。

2.被动学习,在开发过程中或者学习过程中,看到某些方法,不知道其具体的意思和用法,则可以在Xcode中通过 ⌘ + 鼠标单击当前方法就可以跳转到定义的头文件中去查看使用方法,或者通过 iOS Developer Library 搜索查询。

网络

网络这一块不仅仅指学会使用SDK中的网络API调用,而是指要去理解网络编程。
你需要知道HTTP协议消息结构、GET/POST方法、常见的状态码的意思、Request/Response。
你还需要知道与服务器通信使用的数据格式如:json、xml。

数据库

数据库你需要知道基本的SQL语句 select/update/insert/delete的操作;
需要知道怎么连接表查询:外连接、内连接、自连接等;
需要知道实体数据一对一、一对多、多对多关系如何设计数据库表。

GitHub

iOS有着很浓厚的开源精神,在GitHub上有许多优秀的开源项目,在真正的开发过程中,某些著名的开源库大家也都广泛的使用着。如:

AFNetworking

SDWebImage

MJRefresh

EGOTableViewPullRefresh

JDStatusBarNotification

在开源社区还有着大量优秀的代码,我们不仅仅是可以直接使用这些代码从而提高我们的开发效率,而且还可以学习优秀的iOS开发者的代码风格以及实现思路。

责任编辑:倪明 来源: 简书
相关推荐

2017-06-22 13:07:21

2012-03-08 11:13:23

企业架构

2017-02-27 16:42:23

Spark识体系

2017-04-03 15:35:13

知识体系架构

2021-07-08 07:16:24

RocketMQ数据结构Message

2021-07-14 17:18:14

RocketMQ消息分布式

2021-07-07 15:29:52

存储RocketMQ体系

2021-07-07 07:06:31

Brokerkafka架构

2021-07-16 18:44:42

RocketMQ知识

2021-07-13 11:52:47

顺序消息RocketMQkafka

2020-03-09 10:31:58

vue前端开发

2015-07-16 10:15:44

web前端知识体系

2021-07-08 05:52:34

Kafka架构主从架构

2011-08-18 17:20:43

梭子鱼知识体系

2019-09-06 08:35:03

TCPIP算法

2020-09-09 09:15:58

Nginx体系进程

2017-08-30 17:30:43

大数据数据化运营

2021-07-12 10:25:03

RocketMQ数据结构kafka

2020-10-26 08:34:18

知识体系普适性

2017-07-25 17:34:54

大数据机器学习数据
点赞
收藏

51CTO技术栈公众号