IOS是一门入门简单但后期有些难度的语言,学习曲线比较陡峭,特来分享下我的学习过程.
首先我建议学ios的时候结合同时学习一门后端语言,我在学ios前有2年的php+mysql+基本js的经验,这些辅助技能是非常必须的.
学习阶段
阶段1: 大概了解下苹果的开发历史,对oc有个大概的了解
阶段2: 学习foundation框架,建议看些简单的教学视频,自己写的时候可以抄着书写
阶段3: 学习了foundation框架后对于oc的疑问就会开始多起来,会思考为什么书上是这么写,这时就可以抱着疑问开始学习oc的其他基础知识了,推荐疯狂的ios这本书,写的比较全.这时打基础的阶段
阶段4: 基础的kvo gcd uikit等学完后就可以整合起来在真机上写demo了,这时就会有些成就感了.但是还是会感觉写的都是别人的套路,那些很炫的app是怎么写出来的呢? 你需要开始学习进阶的oc知识了
阶段5: 动画,calayer,avfoundation,block 这些就是你需要提高时碰到的内容了,此时可以结合github上的第三方框架来一起学习.这一步就需要多加练习了!
阶段6: 此时你的单机app应该写的不错了,能做一些有趣的小demo了,但是还没有和后端联系起来这时如果你有的后端经验就能比较好的帮助你连接前后端的系统. 网络编程需要看起来罗~
阶段7: 网络编程要单独拿出来练,AFNETworking,nsurlsession,fmdb就要玩的很溜才行了,工作中最多的就是要运用这一块了. 这里得提到一些其他的知识,http header头,json,xml,缓存机制等最好能尽量学的精些~
阶段8: 可以开始尝试写自己的app了,当然你也得写后端.把整套系统都搭起来,你需要学习如php框架,sql知识(相信学fmdb时已经有所了解了),app的出错统计和提交appstore等.
阶段9: 你已经是一名合格的ios开发者了,但是你还没有点亮你的大招呢!!!此时选择一个点专注研究就很有必要了.动画,多媒体播放,蓝牙设备,coretext,直播推流,这些都够你玩很久了
阶段10: 可以为github做贡献了,把你的知识分享出去吧~
.....
与君共勉!
IOS学习的一些比较搞脑的地方
1 delegate,notification,block的运用
2 动画效果
3 网络编程
4 架构设计
5 runtime/runloop
7 视频录制及视频处理
8 block语法
9 instrument的使用
10 cocoapods的运用
11 深拷贝浅拷贝
12 coretext
13 autolayout
14 swizzlemethod
学的时候要重点攻克!