很多初学iOS开发的人会经常问:“我想学iOS应该从何入手呢?”。作为一个做了2年多各种iOS开发的程序员,只想写写自己的一些心得体会,好和体验与不好的体验。写的不好,请多包涵。希望能起到抛砖引玉的作用。

苹果平台一直采取的是比较激进的策略,所以一直都是更新的很快,所以只是学些表面上的东西,会很快被淘汰,这类程序员的学习方法就是伸手党,到各论坛,各XX群,伸手去要,而不是自己去思考,去尝试,学习那些不会变的东西。iOS我个人的学习路线是object-c到UIKit,再到GCD,网络,及cocos2d游戏开发框架,个人觉得这个还是个比较可行的方式。

入门级
开始学最好从两本书开始,一本叫Objective-C 2.0基础教程,一本叫iPhone开发基础教程,都是黑皮的。这两本书比较轻松简单,不过讲的比较浅。
git版本管理最好也开始就接触,开发中一般就是用svn和git做为版本管理工具。

中级
Objective-c程序设计(很全面)
《TableView详解》(从控件到设计模式,iOSTableView最好的入门书籍)
《iOS6编程实战》即《iOS 6 Programming Pushing the Limits》
cocos2d

中高级
objective c设计模式
领域驱动设计
C语言
C++
SDK API接口开发
测试驱动iOS开发
持续集成
苹果官方文档
github项目开发
u3D
cocos2d-x

项目开发在于细节,每每阅读国外大牛开源同行的代码就能明显感觉到差距之大就像iPhone和小米,所以初学也要对于自己的职业操守严格要求。学习人家开源的精神,不断提升分享知识,分享快乐,不要只是局限在自己的小天地里面。

iOS开发学习路线图的更多相关文章

  1. ios开发之OC基础-ios开发学习路线图

    本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...

  2. Android开发学习路线图

    Android开发学习方法: Android是一个比较庞大的体系,从底层的Linux内核到上层的应用层,各部分的内容跨度也比较大.因此,一个好的学习方法对我们学习Android开发很重要. 在此建议, ...

  3. Web前端与移动开发学习路线图

    文章转载自「开发者圆桌」一个关于开发者入门.进阶.踩坑的微信公众号 这里整理的Web前端与移动开发学习路线图包含初中级两个部分,你可以通过百度云盘下载观看对应的视频 链接: http://pan.ba ...

  4. ios开发 学习积累20161027~20161031

    前言 学习ios这几天来,总结下,函数的定义,调用.跟其他语言都有一定的区别: 几个特别重要的就是对象的迭代的使用和判断.取随机数.动画的实现及数组的深入研究等等 之前的总结地址 ios开发 学习积累 ...

  5. iOS开发学习 阶段过程简述

    下面就简单介绍一下我iOS开发的感受,也是学习iOS开发的一个体系架构. 1 iOS开发环境 1.1 开发环境 标准的配置是Mac OS X + Xcode. MacOSX的话首选用苹果电脑,macm ...

  6. IOS开发学习 碎片S

    非常感谢提供一下内容的人和组织! 字符串编码:http://www.cnblogs.com/KevinYang/archive/2010/06/18/1760597.html Foundation框架 ...

  7. iOS开发学习概述及知识整理

    设计师设计出来了一个不错的引导界面,然而当我看到设计稿的时候,我们的app也没几天就要上线了.这个界面模仿了Evernote iOS app的风格. 我以迅雷不及掩耳盗铃之势开始在Xcode上编程,用 ...

  8. iOS开发学习笔记:基础篇

    iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境 ...

  9. iOS开发学习路径的一些建议

    结合自己情况聊下iOS学习建议,这里不讲大道理,说说具体怎么做.欢迎大家拍砖. 1.第一点要求 ,能比较顺畅的阅读官方的文档 如果你连官方的文档读起来都非常困难,那你还谈什么提高和进阶,咱们学习iOS ...

随机推荐

  1. Windows 8.1 归档 —— Step 2 对新系统的少量优化

    下面是来自 iplaysoft 的优化技巧:

  2. js中call和apply的用法和区别

    它们的作用都是将函数绑定到另外一个对象上去运行,两者仅在定义参数方式有所区别: obj.call(thisObj, arg1, arg2, ...); obj.apply(thisObj, [arg1 ...

  3. Myeclipse中tomcat所应用的JDK设置

    Preferences------ > MyElipse ---------- >Servers ----------- > Tomcat-------- >Tomcat 6. ...

  4. Spring(3.2.3) - Beans(5): 集合属性的注入

    如果 Bean 的属性是个集合,则可以使用 <list/>.<set/>.<map/> 和 <props/> 元素向 List.Set.Map 和 Pr ...

  5. Android之标签选项卡

    TabWidget可以通过不同的标签进行切换并且显示不同的内容,相当于Button按钮实现不同的功能. TabHost的布局: (1):我们先在Layouts拖一个Vertical(纵向视图)的Lin ...

  6. Javascript之改变盒子颜色

    index.html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  7. DOS批处理命令-引数取得

    参数传递对程序来说,是一个很重要的事情,所以,获得传递的参数是很重要的,接下来,我们来探讨下获得传递的参数的N种方式. 1.%N  获得传递的第N个参数(N最大为9) 就是传递过去的参数原样值(并且忽 ...

  8. jquery 解析xml字符串

    // 函数功能:把xml字符串转换成对象 function convertXmlStringToObj(xmlString) { var xmlObj = new Object; var xmlDoc ...

  9. ### 学习《C++ Primer》- 9

    Part 9: 模板与泛型编程(第16章) // @author: gr // @date: 2016-03-18 // @email: forgerui@gmail.com 1. 模板参数 类型模板 ...

  10. 第二十九篇、UICollectionView瀑布流

    1.实现思路 >第一种方案:UIScrollView 镶嵌三个UITableView (不推荐使用) >第二种方案:UIScrollView 镶嵌UIImageView (需要解决循环利用 ...