致iOS初学者的建议--iOS开发学习路线

好久没有写过博客了。工作一忙就各种放一边,这阵子闲下来也没好好整理一下。抱着“Right Now”的想法拿起键盘就啪嗒啪嗒赶紧写下来再说。开始转行做iOS开发时,由于身边的人很少做iOS的自己本身也是菜鸟什么都不懂,一路摸打滚爬过来一开始也是碰到很多坑。从开始学习做个小项目后去小公司当个实习生攒攒经验,出来后在一个小创业公司做Self-Manager-.-||,那时候学的多不过开发过程还是有挺多不规范的,然后到顶个不错的头衔去大公司打磨学习(打杂T_T),整个过程也是曲折,凭着厚脸皮也算学到一些。看到网上这些资料也不是很多,大公司内部的培训资料比较完整系统但也很少会公开。所以这篇文章以及接下来几篇文章主要是针对刚入门的iOS开发者,根据自己这些年的开发经验讲一下iOS开发的大致学习路线,算是一点建议吧,虽然我也不是大神,不过也希望能给新手们带来点小帮助哈哈哈。写的不是很全但思路应该是没问题的,有见解的欢迎补全或更正。

初阶

基础

  • C语言基本语法、Objective-C基本语法
  • 面向对象特性(类、对象、继承、多态、动态类型、动态绑定)
  • 协议(Protocol)与分类(Category)
  • KVO、Delegate、Notification、Block的简单使用
  • 基础内存管理、ARC、属性关键字的使用

数据

  • 容器类(NSData/NSMutableData、NSArray/NSMutableArray、NSSet/NSMutableSet、NSString/NSMutableString、NSDictionary/NSMutableDictionary)
  • 可持续永久存储(沙盒机制、序列化、Plist文件、文件管理、NSUserDefaults)
  • JSON/XML格式解析
  • 网络处理(Http协议、NSURLConnection、NSURLSession、NSURL、NSURLRequest、NSURLResponse等)

UI

  • UIKit的类与结构
  • UIView、UIWindow、UIApplication(使用与生命周期)
  • 基础控件(UIButton、UILabel、UIImageView、UITextField、UITextView、UITableView、UISwitch、UICollectionView、UIScrollView、Cell等)
  • 基础控制器(UIViewController、UITableViewController、UICollectionViewController、UIAlertViewController(iOS8.0以下是UIAlertView)
  • xib文件、storyboard、Autolayout
  • 事件的传递与响应(UITouch、UIEvent、UIGestureRecognizer)
  • 绘图与动画(CALayer、UIBezierPath、基础动画[UIView animate…])

第三方库

使用AFNetworking、SDWebImage、MJRefresh等

工具

  • 调试分析工具Instrument
  • 版本管理工具Git/SVN
  • 依赖管理工具CocoaPod
  • Xcode各类提升开发效率的插件:譬如包管理插件Alcatraz、文档注释插件VVDocument、对齐插件XAlign、沙盒查看插件ZLGotoSandbox、图片名字迅速匹配插件KSImageNamed

其他

单例模式、MVVM模式、工厂模式、Objective-C编程规范、AppStore上架指南

PS:扎扎实实学完上面的内容就可以应付大部分普通的iOS开发需求了-。-

进阶

  • KVC/KVO手动管理与原理、Block的理解与原理
  • 多线程开发的深层应用(NSThread、NSOperation、GCD)
  • SQLite3、CoreData以及CoreData的多线程开发
  • 内存管理的底层理解
  • CoreText/UITextKit富文本开发、CoreImage开发
  • 高级绘图与动画(CA开头框架内容CAShapePath、CADisplayLink等、UIDynamic等)
  • Runtime机制原理与应用(消息机制、动态选择/拦截调用、动态添加、关联对象、方法交换等)
  • RunLoop的底层原理(应用的流畅度优化等)

再往上就不是什么具体知识点能来说了(主要是因为我也不懂-.-),每个大牛都会说到开发思想这个问题上,更深层次的能力就不能以单一一种语言来衡量的了,毕竟万法归一。实践是检验真理的唯一标准,经验、实践也是很重要的。所以,去吧骚年。

 Tips:

 * 没事阅读理解下大牛的代码是有利于自己的学习的
 * 没事爬爬blog或者开源社区也是挺好的
 * Apple的开发文档就是最好的文档
 * 开发思路与开发规范很重要

你可能感兴趣的:(致iOS初学者的建议--iOS开发学习路线)