BACK >
致ios初学者的建议--ios开发学习路线
作者:吾诺瀚卓    浏览次数:3751    日期:2016-05-04

ios9.1

      好久没有写过博客了。工作一忙就各种放一边,这阵子闲下来也没好好整理一下。抱着“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的开发文档就是最好的文档

      * 开发思路与开发规范很重要

文/南楊