iOS 开发工程师自学计划

预备

1、文件管理器 Finder
2、iWork 使用 Numbers,Keynote,Pages
3、Safari 浏览器 Mac Os 的使用,iWork 的使用

iOS 开发基础

1、Xcode、SVN、Git
2、C 语言是 iOS 开发的入门基础 语言,本部分主要介绍 C语言 的基本语法,程序结构,以 及指针的各种操作。为接下 来 Objective-C 语言的学习打下基础。

1、iOS 开发的系统环境介绍、 Xcode 集成开发环境详解、常用软件的介绍
2、数据类型、常量和变量、运算符、赋值语句和表达式;分支、循环
3、函数,数组(一维数组、二维数组、多维数组) ,结构体
4、指针数组、数组指针,结构体指针
5、指向指针的指针,宏定义、枚举,const,static

Objective-C 是 iOS 与 Mac OS 开发的主要语言, 它是对 C 语言的扩展,并融入了面向对 象的特点。包含封装、继 承、多态三大特性, 本部分 主要介绍 OC 的基本语法, 新 的特性,内存管理等内容

1、面向对象 (OOP) 和面向过程、 类 (Class)和对象(Object) 、类的定义
2、创建对象、self 和 super 关键字、属性以及点语法 (nonatomic, assign、 retain 、 copy,readonly、readwrite)
3、便利构造器、单例(Singleton)
4、堆栈、内存管理( alloc、copy、retain ,release、autorelease, strong、weak)
5、键值编码 (KVC) 、 键值监听 (KVO) 、 通知中 心 ( NSNotificationCenter )、 通 知(NSNotification)
6、类目(Category) 、延展(Extention) 、协议(protocol)

iOS 的基础框架,包含了 iOS 开发的基本数据类型,在 iOSSDK 中几乎全部 NS 开头的类都 属于这个框架,我们将详细介绍开发中常用的类。

1、字符串( NSString NSMutableString) 、数值对象(NSNumber NSValue)
2 、数组( NSArray,NSMutableArray ) 、字典(NSDictionary,NSMutableDictionary) 、 集 合(NSSet,NSMutableSet) 、快速 枚举 (for…in)NSIndexPath
3 、日 期 与 时 间 (NSDate) 、 日 期 格 式(NSDataFormatter)、日历 (NSCalendar)、定时器(NSTimer)
4 、文 件 管 理 (NSFileManager) 、 程 序 包(NSBundle)、缓冲区(NSData)
5 、网络连接 (NSURLConnection) 、网络地址(NSURL)、网络请求 (NSURLRequest)、请求回应(NSResponse)、错误信息处理(NSError)
6 、MVC 编程,简单控件一:标签(UILabel)、文本输入(UITextField)、 按钮 (UIButton)、 提示框(UIAlertView、UIActionSheet)、
7、使用面向对象 OOP 方法, 实施计算机 APP应用. 要求学员应用前期学习中的大部 分知识点.
8、沙箱

iOS 开发高级

UIKit 处于 Cocoa 四层结构的 最上层 CocoaTouch 层, 是 iOS开发中的控件框架, 定义了 几乎全部可视化控件, 在 iOS 开发中占据绝对地位,我们 不仅会学习各个控件的用 法,而且会讲述各个控件在 不同版本系统里的样式,教 大家如何自定义控件样式。 学完他们我们就可以做自己 个性化的界面了。
1、窗口(UIWindow)、视图(UIView)、应用程序(UIApplication)
2 、绘图( drawRect ) 、 QuartzCoreDemo 、CGContextRef
3 、触摸 (UITouch) 、事件 (UIEvent) 、手势(UIGestureRecognizer)、 UIResponder、 消息传递、响应者链
4、 UIView 以及 CALayer 动画 (CAAnimation、CABasicAnimation、 CAKeyFrameAnimation)
5、活动提示(UIActivityIndicatorView)、图像(UIImageView)
6、 控件二:滚动视图(UIScrollView)、 页控制器(UIPageControl) 、 开关 (UISwitch) 、 单选(UISegmentControl)、滑块(UISlider)
7、控件三:多行文本(UITextView)、网页视图(UIWebView)、滚轮 (UIPickerView)、日期滚轮 (UIDatePickerView) 、 表 格 视 图(UITableView)、 表格项(UITableViewCell)
8、视图控制器(UIViewController)、导航控制器 (UINavigationController) 、 标 签 控制 器(UITabBarController) 、 表 格 控 制 器(UITableViewController) 、 相 册 控 制 器(UIImagePickerController)

iphone Safari 浏览器原型 App。
1、结合前期所学知识,应用 UIKit 框架详解中所学的高级 UI 控件及知识点,模拟 实现Safari 浏览器

iOS 应用特性框架是对上述两 个框架之外其他框架的统 称。主要内容为:音 频、视频的播放、照相机的 使用、加速计的应用,地图 框架的使用、短信、邮件的 应用等等,而且也会介绍当 前应用开发中使用非常广泛 的开源框架,同时还将讲解 开发者帐号的注册、真机调 试、以及程序上传。
1 、音 频 播放 (AVAudioPlayer) 、 视 频 播放(MPMoviePlayerViewController) 以 及 播 放ipod 音乐
2、 照相机(UIImagePickerController)以及相册的使用
3 、短 信(MFMessageComposeViewController) 、 邮件(MFMailComposeViewController)的使用
4、加速计(UIAccelerometer)的使用、帐号注册、真机调试、上传程序
5 、地图(MKMapView) 的使用以及定位 (CoreLocation)
6、数据持久化(文件读写、sqlite 数据库、 归档、NSCoding 协议) 、云存储 (iCloud)
7、多线程开发(NSThread、NSLock),操作队列(NSOperationQueue)
8、网络请求(GET、POST) 、xml 解析、json解析、Socket 编程

iOS 游戏开发

2D 游戏引擎的使用, 全部课程 内容以”植物大战僵尸”为例,
贯穿其中

1 、 Cocos2D HelloWorld,CCDirector( 导 演类),CCScene(场景类),CCLayer
2、CCSprite(精灵类),CCAction(动作)
3、CCMemu(菜单),CCLabelTTF(标签)
4、CCPointParticleSystem(点粒子系统)
5、练习:植物大战僵尸游戏开发

C++是目前最流行的开发语言 之一,C++基本语法,C++面象对像的特性.在 XCode 下如何 使用 C++语言编程.

1、在 Xcode 下编译 C++ 程序,C++ 类 Class,成员变量,成员函数,对象的创建
2、构造函数与析构函数,new delete 关键字,内存管理
3、继承,函数重载,操作符重载,拷贝构造
4、模版 template 与泛型
5、Objective-C 与 C++混合编程

iOS 游戏开发中使用最多的物 理引擎,以愤怒的小鸟为例学习 Box2D 开发.

1、物理世界(b2World),刚体(b2Body),精灵与刚体连接
2、碰撞测试(b2ContactListener)
3、刚体的连接关节(b2Joint)
4、练习:愤怒的小鸟开发
5、OpenGL ES 开发基础

项目实训

做一个真 实项目,可以整理成教程发到博客,然后开源 从需求分析开始,然后技术调研,工期评 估、编码、测试、优化代 码、上传程序等 项目内容会包括几点: 1.网络数据解析 2.音视频播放3.微薄分享 4.LBS 定位应用 5.SQLite 数据库

项目会用到网络、数据库、各种常用控件、 以及各种 Foundation 类。 目前有 很多项目可以选择使用,比如:互动百科(新闻类应用) 、
乐视 (电影类应 用) 、 创业邦 (杂志类应用) 、尚品网 (购物类应用) 、 雅座空间 (团购类 应用) 、 找地(定位类应用) 、 我是学家(教育类应用) 、 YY 客户端 (语 音类应用) 、麦咨达(条码扫描类应用) 、 中国建行 (银行类应用) 、CuteMath(游戏类应用) 、车震摇摇乐(娱乐类应用) 、新浪微博(微博类 应用)等等

支持聊天功能的相册应用 - 微相册

实现功能

主要是照片的展示,播放照片时播放音乐,音乐照片来自互联网
分享照片到各大社交平台
支持开放平台登录
支持滑动出菜单
TableView动画
下拉刷新
反馈建议
关于

扩展功能