1 、信念。
很大程度上,学iOS就是一个信念的事情。iOS开发本身不难学,不需要你有很高的智力,只需要你能够坚持下去。只要你心中有信念,坚持下去就会有收获。不管你是学哪一种编程语言,不用怀疑你能不能学会,只要你肯下工夫,坚持下去就一定会成,学不会只有一个原因,你没有付出足够的努力。
2、英语。
几乎所有重要语言,重要开发工具,开源项目都是在英文网站上以英文的形式展示。如果你连官方的文档读起来都非常困难,那还谈什么提高和进阶,咱们学习iOS的所有权威的资料都来自apple开发者网站,靠逛论坛看帖子不是出路。如果这点没达到,那就从阅读官方文档开始吧,找一篇你比较熟悉的技术的官方文档,比如:View Programming Guide for iOS自己阅读,翻译。里面不懂的单词,记下来,多学几遍,这些你不懂的单词,在以后你看其他时文档里还会出现无数次的。坚持几个月后,你会发现,英文的文档,看起来比中文的顺眼了。
在这里我还是要推荐下我自己建的iOS开发学习群:727474737,群里都是学ios开发的,如果你正在学习ios ,小编欢迎你加入,今天分享的这个案例已经上传到群文件,大家都是软件开发党,不定期分享干货(只有iOS软件开发相关的),包括我自己整理的一份2018最新的iOS进阶资料和高级开发教程
3、对计算机有一定的了解。
知道一些软件开发的基础知识,接触过C语言、.NET、PHP等对学iOS开发也会有一定的帮助,因为很多语言是相通的。题主学过C语言,并且也通过了计算机二级,从这点上看,学习iOS开发是有天然优势的。因为想学习iOS开发,Objc是必须要学的。学过C语言再学Objc会简单很多。
4、一台mac。
学iOS开发需要有一个苹果系统的电脑,最好有苹果原配电脑,有钱就买个mac pro,八九千不算很贵,钱少就买个四五千的mac mini,如果实在没钱又想着自学的话,那么就只能收紧裤腰带,厚颜买个山寨黑苹果主机了。(组装机一般2000 -2500可以搞定,配置大概4G 500G 硬盘内存 I3 2012 H61主板系列 显卡GF430 以上的都可以了。 如果你的主机本身都是这样的配置 那么恭喜你买个20元的mac lion 系统马上就搞定了。上面的配置装狮子系统没有问题。开发足够用了。)
——————————————————————
以上讲的四点都是学习iOS开发的基础前提。缺一不可,如果这四点你都符合,就可以继续往下看,下面就进入iOS开发的学习阶段了。
一、首先你需要学习Objc语言。
学习Objc的话,看视频教程再结合看参考书足够了。
1、参考书推荐两本。
一本是 Scott Knaster出的《Objective-C基础教程》。
<img src="https://pic4.zhimg.com/50/e7e0fe99e5c96ef4c3b9ffb504bbbe47_hd.jpg" data-rawwidth="238" data-rawheight="311" class="content_image" width="238">另一本是Big Nerd Ranch出的《Objective-C编程(第2版)》。(推荐华中师大出的版本)
<img src="https://pic4.zhimg.com/50/afc697a3b877270d17059fbeeb36a959_hd.jpg" data-rawwidth="333" data-rawheight="413" class="content_image" width="333">——————————————————————
二、其次,你要学习API,了解iOS UI控件
Objc阶段的学习只是带你入门,如果你想进阶,API和UI控件是必须需要学的。一门语言可能会有成千上百的API和UI控件。你不需要把他们全都记住,只需要记住一些常用的即可。
例如:Objc中的UITableView的dataSouce和delegate;NSDictionary、NSArray相关的增删查改方法;JSON数组转换方法;文件操作方法等。
UI控件的话,常用的有UIView、UITableView、UIScrollView、UIButton、UILable等。你要熟悉这些控件的属性和相关的操作方法。
记忆这些东西,只靠死记硬背是不行的。多去写代码,多去实践,这样才能逐渐掌握。
学完这个阶段,基本上就可以做出来一个简单的APP了。由于没有进一步学习高深的东西,咱们暂且不说流畅性和内存。
UI控件部分的知识点如图:
——————————————————————
三、最后,你还需要了解iOS开发的底层原理。
能学到这一部分已经很不错了。所谓专业的iOS开发工程师和一个业余的iOS开发爱好者基本也差在这最后一步了。这一部分的知识点也是在面试的时会经常问道的。如果你想找一份iOS开发工程师的职位,这一部分是非学不可的。
这一部分的需要掌握的知识点包括:
iOS内存管理、iOS运行时机制、RunLoop、多线程等
每一块都需要掌握的很详细。
你还要熟练使用类库并阅读类库源码,例如AFNetWorking、SDWeblmage等,这两个是初学者必看的。