文档章节

ios学习规划

余成海
 余成海
发布于 2015/10/22 11:37
字数 1171
阅读 871
收藏 13

前言:我看很多人在开始投向ios开发的怀抱,也有很多问我该怎么学ios,我也想单凭自己的学习来总结下ios学习的过程和规划,希望是有帮助的,而不是误导了大家。


1.准备

1)准备Mac,mac是必须的,可以选择的是mac mini(最便宜的,不过要自配显示器)、mac book(有三种,推荐pro)、imac(最合适的开发设备,就是太贵)、黑苹果(最实惠,最难搞,学习推荐远景

2)准备iphone,手机尽量要有,不然模拟器很多东西都模拟不出来的(比如摄像头,重力什么的),如果真买不起iphone,ipod touch 也是可以代替的

3)开发者账号,开发者账号是为了能真机调试,不然你有手机也不能调试,可以到官网买一个(一年688元人民币,可以一群人一起买),配置下证书,买了账号还可以发布你的应用。

4)在app store 下载xcode开发工具


2.入门(初级)

1)基本语法

基本语法看看基础书和视频就可以了,如果是自己学习的话可以直接研究swift,如果是为了找工作和公司认可的话还是建议要学objective-c。(下面都以oc为例)

2)界面学习(红色重点)

ios的UI一般有三种方式:手写布局、xib、storyboard

常用的控件:UIView、UIButton、UILabel、UIImageView、UITextFiled、UITableView、UITableViewCell

ios的MVC模式:M(数据层单独创建Model、Info)、V( 分散在xib、storyboard、view、UIViewController)、C(UIViewController)

UITableView总结

页面切换结构:UINavgationController(pushViewController、UITabbarViewController(setSelectedViewContoller)、UIViewController(PresentViewController)、UIView(AddSubView)

3)持久化存储数据

FMDB(sqlite)、NSUserDefault

4)数据结构

NSArray(数组)、NSDictionary(字典)、NSMutableArray(可变数组)、NSMutableDictonary(可变字典)、NSData(二进制数据)、NSDate(时间)、NSString(字符串)、double、int、float

5)层间回调

NSNotificationCenter(通知)、Delegate(协议)、Block(块)

ios 异步回调选择

6)网络(学会使用)

ASINetWork、AFNetWorking

ios http 上传图片

7)静态数据、全局数据、外部定义数据、宏定义、常量数据

8)多看别人的代码,github

推荐几个我自己写的,合适入门的应用源码:

rando(图片分享):http://git.oschina.net/jonear/Rando

消消豆(小游戏):http://git.oschina.net/jonear/LianLianDots

Demo(一些实例):https://github.com/Jonear/iosDemo

9)推荐书:《Objective-C 基础教程》


3.进阶(中级)

1)界面学习

常用的控件(补充):UICollectionView、UITextView、UIScrollView、UIActivityIndicatorView、UISegmentedControl、UIPageControl、UISlider、UISwitch、UIProgressView、UIWebView、UIMapView、UISearchBar、UIWindow

手势:touchBegin、touchMove、touchEnd、UIGestureRecognizer(tap/pan/long)、摇一摇

MVC:学习层级结构,层级调用、搭建框架

app通知:UIApplicationDidEnterBackgroundNotification等(UIApplication.h)

自动布局:autoLayout、autoResizing、code By ScreenSize

2)xcode快捷键熟悉

3)图片处理(切圆、滤镜、缩放等)

ios圆角图片的实现》《ios图片拉伸》《UIImageView中图片的大小缩放

4)VC、view加载结构和过程(viewWillAppear\viewWillDisappear\viewdidload)

5) 多线程与安全(NSThead、GCD、NSOpration)《ios多线程总结

6)内存管理(ARC、autoreleasepool、@property)

7)持久化存储数据(补充)

coreData、文件、cSqlite、plist

8)分类(类别)、常用分类库(BFKit

9)网络(补充)

NSUrlConnection、TCP/UDP

网络数据结构:json、xml,解析和生成

学习第三方库源码结构:ASI、AF

10)强化学习UITableView(自定义Cell,重用优化)

11)性能调试工具 Instruments

12)字符串处理(剪切、匹配、反转等)

13)动画(UIView动画,UILayer动画) 《ios隐性动画

14)内外部推送处理、推送证书、发布证书

15)语音视频播放、录制、处理

16)毛玻璃、高斯模糊(FXBlurView、UIBlurEffect)

17)多看第三方库的代码记录ios第三方库

18)推荐书:《Effective Object-C》


4.熟练(高级)

1)界面学习:(补充)

手势冲突处理、UIWebView js交互、MVC结构搭建和优化

2)runtime(非常重要)

3)runloop

4)逆向工程分析

5)MRC性能管理

6)多线程优化、队列、锁优化

7)网络结构、底层协议、安全(加解密方法、https)

8)keychain

9) 音视频处理(裁剪,合成、除噪、滤镜)GPUImage、直播、格式转换

10)高阶动画(贝塞尔、阻尼、正弦 RBBAnimationpop

11) 数据统计,埋点(方案、优化)

12)即时通信(方案、网络、刷新)

13)编写SDK、xcode插件、FrameWork

14)apple watch

15) CGContextRef 绘图

16)多看官方贴:https://developer.apple.com/library/prerelease/ios/navigation/

17)core、coreText、coreImage...

18)推荐书:《ios逆向工程》


-呀,按这个目录好好写写,我能出本书了呀!

© 著作权归作者所有

共有 人打赏支持
余成海
粉丝 61
博文 57
码字总数 29577
作品 0
杭州
iOS工程师
私信 提问
iOS开发的你,现在准备脱坑还是继续进阶呢?

序言 我相信很多人都在说,iOS行业不好了,iOS现在行情越来越难了,失业的人比找工作的人还要多。失业即相当于转行,跳槽即相当于降低自己的身价。那么做iOS开发的你,你是否在时刻准备着跳槽...

_小迷糊
10/31
0
0
iOS 学习资料整理

视频教程(英文) Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS SDK 的使用, 属于 iOS 基础视频 iPad and iPhone Applic...

拉偶有所依
2015/01/19
2.2K
4
首届中国iOS应用开发大赛作品提交通道已开启

  据科技传媒网8月10日消息: 首届中国iOS应用开发大赛自6月初启动报名以来,受到了全国高校学生、iOS开发从业者和业余开发者的关注和青睐,大赛报名工作正如火如荼进行中,目前在官网完成...

守护灬小伦
2016/08/10
98
0
【开源访谈】施文婷:我眼中的 iOS 开发和技术宅男

对技术、逻辑等能力要求较高的 IT 行业,往往会让人觉得男性更符合行业需求,而现实中也确实是男性占比较高。但可不要因为数量对比就忽视了女性的存在,对于技术,她们同样有着极强的专业素养...

王练
2016/11/07
5.4K
20
如果只有一个月的时间学 iOS 开发,我们该做些什么?

一年前,我还是一个 Android 开发者。那时候我没有任何 iOS 编程相关的知识,我甚至没用过任何苹果的产品。然而,这已成为过去,现在我已经能同时开发 iOS 和 Android 应用了。 现在,我想给...

oschina
2017/03/09
3.3K
13

没有更多内容

加载失败,请刷新页面

加载更多

让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字

让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字: 作者:孙冬梅;以前读韩国前总统朴槿惠的著作《绝望锻炼了我》时,里面有一句话令我印象深刻,她说“在我最困难的时期,...

原创小博客
20分钟前
0
0
JAVA-四元数类

public class Quaternion { private final double x0, x1, x2, x3; // 四元数构造函数 public Quaternion(double x0, double x1, double x2, double x3) { this.x0 = ......

Pulsar-V
38分钟前
13
0
Xshell利用Xftp传输文件,使用pure-ftpd搭建ftp服务

Xftp传输文件 如果已经通过Xshell登录到服务器,此时可以使用快捷键ctrl+alt+f 打开Xftp并展示Xshell当前的目录,之后直接拖拽传输文件即可。 pure-ftpd搭建ftp服务 pure-ftpd要比vsftp简单,...

野雪球
39分钟前
1
0
Confluence 6 文档主题合并问答

在 Confluence 官方 前期发布的消息 中,文档主题在 Confluence 6.0 及其后续版本中已经不可用。我们知道你可能对这个有很多好好奇的问题,因此我们在这里设置了一个问答用于帮助你将这个主题...

honeymose
今天
2
0
java框架学习日志-2

上篇文章(java框架学习日志-1)虽然跟着写了例子,也理解为什么这么写,但是有个疑问,为什么叫控制反转?控制的是什么?反转又是什么? 控制其实就是控制对象的创建。 反转与正转对应,正转...

白话
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部