对于这个问题我其实有很多想说的,一点一点慢慢说吧。(PS可能会分几次写完,在公司偷偷上知乎,请见谅)
首先,我现在就是一个IOS程序员,去年7月的时候我去了一个培训班参加IOS培训,是的,我就是那种老程序员不喜欢的半途出家的人。但是对于新手来说,可能我的经历也会有点帮助,就算没有帮助,也权当看看罢了。
objective-C:配好环境以后,你就可以开始学习编程了。首先,object-c(下文称为oc)是必要的,这个也是ios应用的编写语言。oc是c语言的一个超集。所以先学习oc是必须的,这里推荐一本书。
然后就真正进入ios的学习里面了。这里推荐一套视频。斯坦福大学公开课:iPad和iPhone应用开发(iOS5)_全19集免费的。另外推荐Apress系列丛书,下图是第一本,也是基础的一本,有中文翻译版,但是推荐中文英文都对照着看,因为当时我就是这么做的,发现英文原版比中文翻译的好一点。

然后基本上面的步骤走完,你就入门了。基本可以编写自己的一些小程序。但是,真正的挑战,从现在开始!!!
接下来就是中级部分。首先就是苹果那一套东西,很麻烦,但是很重要。特别在小公司里面。这个都是你负责的部分。iOS Developer Library这个网址就是开发库,里面有各种各样的资源(有开发的,还有其他的),有空要看,而且不懂的话,去这里找是最权威的。不过是英文,貌似有人翻译了。不知道是不是。
然后就是上架,这个更加麻烦!!各种证书,签名,需要苹果开发者账号,99美金一年。所以这个一般是培训机构教或者去了公司才能学到,网上也有不少帖子,用到的时候多看看就好了。
如果你要做游戏,用cocos2d(x),x指跨平台,用c++的语法。cocos2d用的就是oc的语法。里面是一套不怎么相同的东西,如果有心做游戏,就去学学吧。这个我不是做游戏的,不太清楚。推荐一个人的博客:子龙山人 - 博客园里面有一套cocos2d的教程,很完善。
然后就是一个高级的,openGL,或者说和CoreGraphics的东东,这个我不会,仅限于知道而已。
然后..................就没有然后了,因为我从学习了到现在也才1年时间,会的不多,说错的希望大家指正,见笑了。
最后,补充几个对初学者特别难搞定的东西,希望在学习的时候好好学,不要像我一样啊。
ARC,推荐一开始不要用,因为只有自己管理内存你才知道这个机制是怎样的,苹果ARC的机制不完全等同于java的垃圾回收机制,如果你自己不清楚这个机制,就算用了arc,也会因为混乱的引用计数从而导致内存崩溃。
TableView,这个东西是IOS开发最经常用到的一个控件,也算是最复杂的控件之一。
Navigation,这个另外一个经常使用的,导航栏控制器,但是不算难。
TableBar,这个和上面一个差不多,区别在于导航栏是层级关系,这个是同级关系。
数据库(codedata),最少会用一种数据库,比如说sqlite。
网络,以前是用ASI,现在也很多,AFI也差不多,网络层的架构是一定要好好学的。
通知,苹果的通知机制很有用,也很特别,分本地通知和服务器推送通知两种。
代理,对于初学者而言,这个东西很难懂,懂了以后很好用!
基本就差不多这样了。欢迎和我交流。我也在努力成为一个好的IOS程序员。
首先,我现在就是一个IOS程序员,去年7月的时候我去了一个培训班参加IOS培训,是的,我就是那种老程序员不喜欢的半途出家的人。但是对于新手来说,可能我的经历也会有点帮助,就算没有帮助,也权当看看罢了。
objective-C:配好环境以后,你就可以开始学习编程了。首先,object-c(下文称为oc)是必要的,这个也是ios应用的编写语言。oc是c语言的一个超集。所以先学习oc是必须的,这里推荐一本书。

然后就真正进入ios的学习里面了。这里推荐一套视频。斯坦福大学公开课:iPad和iPhone应用开发(iOS5)_全19集免费的。另外推荐Apress系列丛书,下图是第一本,也是基础的一本,有中文翻译版,但是推荐中文英文都对照着看,因为当时我就是这么做的,发现英文原版比中文翻译的好一点。

然后基本上面的步骤走完,你就入门了。基本可以编写自己的一些小程序。但是,真正的挑战,从现在开始!!!
接下来就是中级部分。首先就是苹果那一套东西,很麻烦,但是很重要。特别在小公司里面。这个都是你负责的部分。iOS Developer Library这个网址就是开发库,里面有各种各样的资源(有开发的,还有其他的),有空要看,而且不懂的话,去这里找是最权威的。不过是英文,貌似有人翻译了。不知道是不是。
然后就是上架,这个更加麻烦!!各种证书,签名,需要苹果开发者账号,99美金一年。所以这个一般是培训机构教或者去了公司才能学到,网上也有不少帖子,用到的时候多看看就好了。
如果你要做游戏,用cocos2d(x),x指跨平台,用c++的语法。cocos2d用的就是oc的语法。里面是一套不怎么相同的东西,如果有心做游戏,就去学学吧。这个我不是做游戏的,不太清楚。推荐一个人的博客:子龙山人 - 博客园里面有一套cocos2d的教程,很完善。
然后就是一个高级的,openGL,或者说和CoreGraphics的东东,这个我不会,仅限于知道而已。
然后..................就没有然后了,因为我从学习了到现在也才1年时间,会的不多,说错的希望大家指正,见笑了。
最后,补充几个对初学者特别难搞定的东西,希望在学习的时候好好学,不要像我一样啊。
ARC,推荐一开始不要用,因为只有自己管理内存你才知道这个机制是怎样的,苹果ARC的机制不完全等同于java的垃圾回收机制,如果你自己不清楚这个机制,就算用了arc,也会因为混乱的引用计数从而导致内存崩溃。
TableView,这个东西是IOS开发最经常用到的一个控件,也算是最复杂的控件之一。
Navigation,这个另外一个经常使用的,导航栏控制器,但是不算难。
TableBar,这个和上面一个差不多,区别在于导航栏是层级关系,这个是同级关系。
数据库(codedata),最少会用一种数据库,比如说sqlite。
网络,以前是用ASI,现在也很多,AFI也差不多,网络层的架构是一定要好好学的。
通知,苹果的通知机制很有用,也很特别,分本地通知和服务器推送通知两种。
代理,对于初学者而言,这个东西很难懂,懂了以后很好用!
基本就差不多这样了。欢迎和我交流。我也在努力成为一个好的IOS程序员。