iOS学习路线-可参考

课程分  类

课程模块

模块介绍

课程内容

Part1

C语言C语言和Objective-C语言

C语言

Mac系统及常用工具、进制;C数据类型、常量变量、运算符、表达式、格式化输入输出

关系运算符、逻辑运算符、if、条件运算符、switch..case..

while循环、do..while循环、for循环

一维数组、数组排序、字符数组

二维数组、字符串数组、多维数组

函数分类、函数声明和定义、函数调用,形参实参、函数嵌套调用

结构体、结构体数组

指针

高级指针

程序存储区划分、动态申请内存、内存操作函数、宏

函数指针、回调函数、动态调用

Objective-C语言

面向对象概念、类和对象、类的定义、对象创建

实例变量可见度、方法、setter、getter

继承、初始化方法、便利构造器

字符串的基本使用、数组的基本使用、学习查阅API文档

数组排序、block语法、基于block数组排序、枚举法遍历、快速枚举法

字典、集合、for..in、NSNumber、NSValue

NSDate、NSDateFormatter、类目、延展、协议、代理

属性、点语法、KVC、KVO、选择器、Class

内存管理、NSCopying协议、属性内存管理、数据持久化

便利构造器内存管理、集合内存管理、复习

Part2

IOS应用

开发阶段UI设计与搭建

视图编程入门

创建iOS工程的注意事项,UI视图编程框架,视图基类UIView的基本使用,UIWindow的作用,iOS开发中坐标位置关系,基础控件UILabel基本用法;

UI视图交互与事件机制

学习事件驱动型控件使用方法,了解UI事件机制,掌握UIImage的创建方法,掌握UIButton 使用和事件机制,UIViewController的初步使用;

UIView无所不谈

界面基类UIView 的学习与使用,UIView层次关系,UIView Dock停靠模式,UIImageView的基本用法;CALayer的使用,UIView基本动画实现

UITextField和UIViewControler详解

UITextField常用的属性和方法,UITextField第一响应者,UITextFied常用代理方法,定制键盘;UIViewController的作用和MVC初步介绍 ,UIViewController生命周期;模态视图控制器的视图切换;UIViewController管理子控制器;AppDelegate传值;

UINavigationController

UINavigationItem,UIBarButtonItem,UINavigationBar,UIToolBar,导航控制器如何管理视图控制器;

常用控件介绍

xib的初步使用,UISegmentControl,UISlider,UISwitch,UIActivityIndicatorView,UIProgressView,UIStepper,UIWebView, UIAlertView, UIActionSheet等常用控件的介绍;Storyboard初步

UITabBarController

UITabBarController使用,UITabBarItem使用,如何隐藏UITabBarController自带的标签栏,NSUserDefaults数据保存;

事件处理详解和手势的使用

iPhone中事件分发机制详解,UITouch的使用,UIEvent,手势基类UIGestureRecognizer、点击手势UITapGestureRecognizer、长按手势UILongPressGestureRecognizer、旋转手势UIRotationGestureRecognizer、长按手势UIPinchGestureRecognizer、轻扫手势UISwipeGestureRecognizer等手势的使用及UIGestureRecognizerDelegate;

UIScrollView滚动视图

UIScrollView的使用,UIScrollView常用的代理方法,UIPageControl的使用,UITextView的基本用法;UIScollView的复用

UITableView(1)

UITableView初步使用;UITableView分区(section)功能;UITableViewCell的复用机制;系统自带的UITableViewCell的样式;UITableView的行编辑操作;向tableView注册cell

UITableView(2)

UITableView多选删除功能;UITableView搜索功能;如何设置UITableView的索引;UITableView定制Section;

UITableViewCell定制

UITableViewCell 纯代码定制,UITableViewCell 用xib定制,UITableViewCell MVC设计模式;

UICollectionView

UICollectionView的使用场景,UICollectionViewCell,UICollectionReuseableView,UICollectionFlowLayOut,瀑布流的实现

初级网络

Json解析和异步下载

网络异步下载,NSJSONSerialization解析,SBJSON和JSONKit等第三方库解析的了解,SDWebImage异步图片下载使用, NSURLConnection,NSURLSession的基本使用;

Json解析爱限免项目2个接口(练习)

练习使用Jason解析;AFNetWorking的基本用法

SNS社区项目和POST上传/SNS项目登陆和相册管理

HTTP协议POST请求;ASIFormDataRequest POST 用法;NSURLConnection  POST用法; HTTP GET请求和POST请求的区别;AFNetWorking的Post请求

XML解析

掌握XML格式数据的特点,掌握常用的XPath语句,GData XML解析器使用,UITableView下拉刷新功能的实现(EGO+iOS6之后系统自带控件),UITableView 触底数据功能的实现;

多媒体处理和图文混排

图文混排的原理,多媒体技术的使用范围,AVAudioPlayer、AVAudioRecorder、MPMoviePlayerViewController,UIImagePickerController调用相册,UILabel高级部分,动态计算UITableViewCell;

观察者模式和通知中心/KVC/KVO

观察者模式,通知中心的用法,KVC的基本用法,KVO的基本用法;

数据处理

sqlite数据库FMDB编程

数据库基本原理,单表SQL语句,多表联合查询SQL语句,学习开源库FMDB用法。

数据库CoreData编程

CoreData存储数据,模型文件来描述数据模型,NSManagedObjectContext的用法。

初级项目(掌厨)

掌厨项目第一天

如何着手构建一个项目,项目的UI架构实现,网络请求类的封装,首页UI的实现

掌厨项目第二天

对症治疗模块二级界面、三级界面和详情的实现

掌厨项目第三天

热门推荐和当月菜单功能的实现

掌厨项目第四天

万道美食任你选模块中复杂UI逻辑的实现

掌厨项目第五天

实现只能选菜和搜索功能

高级网络

iPad编程程序和故事板详解

iPad编程,iPad/iPhone适配,iOS6, iOS7适配,国际化本地化语言适配,程序之间相互调用,通讯录处理,Javascript和UIWebView交互;

系统地图和定位/百度/高德地图

MKMapView和MKMapViewDelegate使用,MKPinAnnotationView的使用, CLLocationManager和CLLocationManagerDelegate使用,MKAnnotation使用,长按手势UILongPressGestureRecognizer的使用,百度地图和高德地图SDK的使用

多线程编程

多线程理论介绍;多线程NSThread模型;多线程NSOperation模型;NSRunLoop原理;异步图片下载SDWebImage原理;

Blocks/GCD编程/Blocks传值

Blocks介绍,Blocks回调传值,Blocks封装网络请求,GCD多线程模型;

Socket套接字编程

UDP介绍,TCP/IP协议介绍,服务器/客户端模型,AsyncSocket如何发送UDP报文,如何发送TCP报文,IM通讯协议介绍

即时通讯IM/XMPP编程

UDP介绍,IM通讯协议介绍;

自动布局+Masonry

xib和故事板结合自动布局的使用,代码界面第三方库实现自动布局

MediaStream流媒体

AVPlayer定制视频播放器,百度媒体云的使用

iOS7、iOS8新特性

iBeacon,MC,TouchID,HealthKit,App Extensions

各种开源库

GPUImage滤镜 OpenCV/人脸识别  HGML动画框架,

UIImage+category, 二维码扫描等

Part3

IOS游戏开发c++基础

游戏引擎(cocos2d-x)

游戏性能优化

游戏特效

跑酷(模拟物理和重力感应,封装碰撞机制,学会使用提供tile工具),

飞机(优化同屏大量子弹飞机的出现消失,子弹特效的实现,包括激光效果,弧度跟踪导弹,雷电特效等),

塔防及摇色子大富翁(关卡设计,tile的使用),

消除(每种消除游戏的3种算法实现 消灭星星,对对碰,三消,四消,五子棋,象棋,围棋,军旗,跳棋),

捕鱼(实现同步网络游戏捕鱼效果,两种方法实现此类飞行射击等游戏),

益智游戏(泡泡龙,俄罗斯方块,练练看,扫雷,贪吃蛇,打球,超级玛丽魂斗罗,挖金,2048,打地鼠,拉吧,鳄鱼洗澡,十滴水)

网络游戏 C0C类型  模拟+养成

棋牌类游戏(扑克类,斗地主,扎金花,牛牛,德州扑克  )

回合制游戏:超级龙珠 口袋梦幻(大地图跑来跑去即时战斗或者回合)

卡牌+试试战斗:刀塔传奇(UI,任务,合成,buf,战斗等)

基本与高级游戏实战

服务器端入门

Part4

项目实战高级项目

基于社交的文件分享项目

此项目中覆盖了LBS,地图搜索,路线查询,导航等重要地图功能;上传普通文本,图片,zip包,视频,音频等post上传功能;大文件的异步并发下载,下载管理,断点续传等下载功能;分类检索文件功能;即时通讯功能等高级网络的核心知识.

项目实战

相关技术介绍

如何使用SVN和git进行多人协同开发和代码管理

真机调试和上线流程

友盟分享和移动数据统计,第三方账号sso登录

推送原理,包括远程和本地推送,极光推送,百度云推等

设计模式详解和的代码重构方法

Instrument内存查漏和程序优化

企业证书部署ipa,iCoud云备份

制作静态库和framework

epub通用电子书打包规范介绍

cocoaPods管理第三方库

应用程序内购+支付宝sdk使用

毕业阶段

模拟面试和毕业答辩

由项目经理对学生进行模拟面试,让学生提前体验去企业真实面试的情景,并有专业项目老师对学生项目进行严格的毕业验收

你可能感兴趣的:(iOS学习路线-可参考)