iOS是由苹果公司开发的移动操作系统,以xcode为主要开发工具,具有简单易用的界面、令人惊叹的功能,以及超强的稳定性,已经成为iPhone、iPad 和iPod touch 的强大基础;iOS 内置的众多技术和功能让 Apple设备始终保持着遥遥领先的地位。
iOS学习路线:http://www.mobiletrain.org/page/ios.html
课程分 类
|
课程模块
|
模块介绍
|
课程内容
|
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使用 | |||
毕业阶段
|
模拟面试和毕业答辩
|
由项目经理对学生进行模拟面试,让学生提前体验去企业真实面试的情景,并有专业项目老师对学生项目进行严格的毕业验收 |