课程名称:iOS开发
阶段一:Web开发基础
● Mac Fundamental(Linux操作系统基础 Linux常用命令 文本编辑器Vim/Vi应用 Linux文件系统管理与维护 Linux用户和用户组管理 LANMP生产环境部署)
● Objtive-C Fundamental(GCC编译器,数据类型,变量和常量; 运算符和表达式,分支,循环; 数组,函数,指针和字符串,结构,联合和枚举; 指针高级应用,双指针,void指针,函数指针; C标准库,堆内存分配,IO等)
● Objective-C OOP(面向对象编程(OOP),类和对象;继承和组合,self和super关键字,属性(Property);类工厂方法(Class Factory Method);单例模式(Singleton),委托模式(Delegation); 内存堆栈模型,内存管理(引用计数、ARC);自省(Introspective), SEL选择器;动态类型与静态类型)
● Foundation Framework(分类(Category), 扩展(Extension),协议(protocol);Foundation 框架的类结构和关系;字符串(NSString,NSMutableString);数值对象(NSNumber,NSValue);数组(NSArray,NSMutableArray); 字典(NSDictionary,NSMutableDictionary); 集合(NSSet,NSMutableSet);快速枚举(for..in)NSIndexPath;日期与时间(NSDate),日期格式(NSDateFormatter), 日历(NSCalendar),定时器(NSTimer);文件管理(NSFileManager),程序包(NSBundle);缓冲区(NSData);键值编码(KVC),键值监听(KVO),通知中心(NSNotificationCenter),通知(NSNotification); 网络连接(NSURLConnection), 网络地址(NSURL),网络请求(NSURLRequest),请求回应(NSResponse),错误处理(NSError))
阶段二:iOS高级开发
● UIKit及绘图(SMVC模式,简单控件(UILabel,UITextField,UIButton,UIAlertView,UIActionSheet);窗口(UIWindow), 视图(UIView), 应用程序(UIApplication)。 绘图(drawRect), Quartz, CGContextRef;触摸(UITouch), 事件(UIEvent), 手势(UIGestureRecognizer), UIResponder, 消息传递,响应者链;UIView及CALayer动画 (CAAnimation, CABasicAnimation,CAKeyFrameAnimation) ;活动提示(UIActivityIndicatorView);图像(UIImageView);滚动视图(UIScrollView), 页控制器(UIPageControl), 开关(UISwitch), 单选(UISegmentControl), 滑块(UISlider);多行文本(UITextView), 网页视图(UIWebView), 滚轮(UIPickerView),日期滚轮(UIDatePickerView),表格视图(UITableView), 表格项(UITableViewCell);标签控制器(UITabBarController);导航控制器(UINavigationController);表格控制器(UITableViewController);相册控制器(UIImagePickerController))
● iOS高级特性(音频播放(AVAudioPlayer);视频播放(MPMoviePlayerViewController);照相机(UIImagePickerController),相册管理;短信(MFMessageComposeViewController);邮件(MFMailComposeViewController);加速计(UIAccelerometer)的使用;地图(MKMapView)的使用及定位(Core Location);数据持久化(文件,SQLite数据库, 归档, NScoding),云存储(iCloud);多线程(NSThread, NSLock), 操作队列(NSOperationQueue),Blocks;网络编程 GET/POST请求, xml解析, json解析, socket编程)
阶段三:iOS项目实践
● K-Othello(计算胜负数模块;人机对战计算机算法模块;图形界面模块;关卡控制模块;网络对战模块)
● 线程通信(了解ANR 使用多线程技术解决ANR问题;了解线程通信技术原理;Handler和Message;使用多线程实现图片的异步加载;封装Android中的线程通信模型、AsyncTask;在工作线程中创建消息队列、HandlerThread)
● K-Reader(界面显示模块; 文件读取模块;图书管理模块;在线搜索模块;在线下载模块;在线翻译模块)
● K-PhotoMaven(拍照模块; 修正模块;照片管理模块;照片微博功能模块;合成照片模块;制作影片模块;云同步模块)
● K-ETV for iOS(音频播放模块; 视频播放模块;影片下载模块;本地资源管理模块)
● K-ThankQ(地图服务模块; 社交模块;网络聊天模块;网络传输模块;微博模块;具体功能模块(如失物招领等))
阶段四:iOS游戏开发
● Cocos 2D(Cocos 2D介绍,导演类(CCDirector),场景类(CCScene), 层类(CCLayer);精灵类(CCSprite), 动作(CCAction),菜单(CCMenu), 标签(CCLabelTTF);点粒子系统(CCPointParticleSystem))
● C++语言(C++语言简介,C++面向对象编程,类和对象;构造器,拷贝构造,析构,new/delete;运算符重载;面向对象的三大特性,封装,继承,多态;模板编程(template); Objective-C++)
● Box 2D(物理世界(B2World), 刚体(B2Body);精灵与刚体;碰撞测试(B2ContactListener);刚体连接点(B2Joint);)