前言

如果你正在学习 iOS, 或者正在从事IOS开发?

还是一个一个迷茫的待就业大学生,或是公司的到一个半老员工?

现在到了开发的一个阶段了,基本的东西很熟了,想着提高技术?

学习难一点的东西,不知该遵循什么思路?从何开始?

现在是看到哪里感兴趣就学学,感觉很乱?

官方文档

第一点要求,能比较顺畅的阅读官方的文档

如果你连官方的文档读起来都非常困难,那你还谈什么提高和进阶,咱们学习 iOS 的所有权威的资料都来自 apple 开发者网站,靠逛论坛看看帖子不是出路。 如果这点没达到,那就从阅读官方文档开始吧,找一篇你比较熟悉的技术的官方文档,比如:View Programming Guide for iOS 自己阅读,翻译,里面不懂的单词,记下来,多学几遍,这些你不懂的单词,在以后你看其他时文档里还会出现无数次的。坚持几个月后,你会发现,英文的文档,看起来比中文的顺眼了。为什么要找自己熟悉的技术看,因为那样的话,你更容易理解和增加信心。

英语学习是个长期的过程,推荐一篇好文,具体教你如何学习和提高英语:老码农教你学英语

技术指南

学习官方的一些技术指南

Apple dev里有各种文档 建议从一些指南开始, 这样能比较系统的学习某个模块的知识。

比如你要系统的学习下AutoLayout ,那你就看看Auto Layout Guide 。

这里各种技术模块指南首页

WWDC视频资料

文本文档的技术文档看腻了?别怕,Apple 是 个人性化的公司,他们每年举办的 WWDC, Apple 的技术专家会针对新技术和部分技术主题进行课堂讲解。

可供学习视频这里 可以找到。视频的主题太多,你只需挑你想了解的主题学习即可。官方提供的视频都是没有字幕的,那怎么办?给大家一个非常好的网站 ,它把最近几年WWDC的各个课堂演讲都整理成文字版了:http://asciiwwdc.com/ 放心,文字版肯定也是英文的。

写博客

关注和收藏一些适合你胃口的iOS开发个人博客,并且开始写自己技术博客

为什么说是合适自己胃口啊?现实中毕竟学霸还是少数,学渣是多数。 你关注的博客太高层建瓴,超出了自己的理解和能力范围,只会让自己觉得自卑。总感觉自己写的东西拿不出手。上学的时候学霸的学习方法你学不来,到了工作了,学霸的博客,你只能仰望。合适自己胃口就是,文章看起来能理解,并能转化成自己的东西。临渊羡鱼,不如退而织网。现在就开始写博客吧。

这里推荐两篇文章,和大家共勉

作为技术人员为什么要写博客:http://blog.jobbole.com/48962/

即便没有读者,你也要写博客​:http://blog.jobbole.com/38258/

阅读源码

阅读优秀的iOS开源项目源码

有时候是不是觉得自己写的代码很烂,但是又不知道怎么改进。我觉得阅读优秀的开源项目是个不错的选择。iOS优秀的开源项目数不胜数。找一个自己比较熟悉常用的开源项目,自己分析,写写博客分享思考下开源项目里用到了哪些设计模式,用到了哪些API技术,如何运用到自己的实际项目中去。

开源项目

编写提交自己的开源项目

现在技术招聘开始关注你在Github上有几个开源项目,有多少starFork。这些比简历含金量高。Github上的项目比简历真实。你在Github上的项目提交代码的记录质量,都能看得到。那么自己写开源项目的好处就不言而喻了。技能提高自己,有能给自己将来跳槽增加砝码。

小结

perl的发明人Larry Wall在其著作《Perl编程》第二版添加具有幽默意味的名言:程序员有三种美德:懒惰,急躁和傲慢...

Laziness

The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many questions about it. Hence, the first great virtue of a programmer, Also hence, this book.

懒惰:

是这样一种品质,它使得你花大力气去避免消耗过多的精力。它敦促你写出节省体力的程序,同时别人也能利用它们。为此你会写出完善的文档,以免别人问你太多问题。

Impatience

The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer.

急躁:

是这样一种愤怒——当你发现计算机懒洋洋地不给出结果。于是你写出更优秀的代码,能尽快真正的解决问题。至少看上去是这样。

Hubris

Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won't want to say bad things about. Hence, the third great virtue of a programmer.

傲慢:

极度的自信,使你有信心写出(或维护)别人挑不出毛病的程序。

如果你还是不知道从何做起?看这篇文章《千万不要做一个思维上“懒惰”的“勤奋”人!》

想学 iOS 开发高阶一点的东西,从何开始?的更多相关文章

  1. 我是该学JAVA呢,还是学IOS开发呢?

    摘要: iOS就像Andriod一样,不是编程语言,而是操作系统.学iOS开发,其实学的是如何用Objective-C在苹果操作系统上进行各种应用程序的开发.就像学Andriod开发,其实是学如何用J ...

  2. 从零开始学 iOS 开发的15条建议

    事情困难是事实,再困难的事还是要每天努力去做是更大的事实. 因为我是一路自学过来的,并且公认没什么天赋的前提下,进步得不算太慢,所以有很多打算从零开始的朋友会问我,该怎么学iOS开发.跟粉丝群的朋友交 ...

  3. 从零开始学IOS开发

    从今天开始开一个坑,由于业务变动,要开始学习IOS开发进行IOS app开发,其实鄙人本身就是一只菜鸟加大学狗,有过两年的C#,ASP.NET MVC,微信公众平台开发经验,一只在继续努力着,从大三下 ...

  4. 从零开始学ios开发(三):第一个有交互的app

    感谢大家的关注,也给我一份动力,让我继续前进.有了自己的家庭有了孩子,过着上有老下有小的生活,能够挤出点时间学习真的很难,每天弄好孩子睡觉已经是晚上10点左右了,然后再弄自己的事情,一转眼很快就到12 ...

  5. 从零开始学ios开发(一):准备起航

    首先介绍一下自己的背景,本人09年研究生毕业,大学就不介绍了,反正是上海的一所211大学,学的是计算机科学与技术专业,学生时代,从事过ACM,没有什么太大的成就,中国的牛人是在太多,我的水平,估计连高 ...

  6. iOS开发---iPhone SDK 包含哪些东西?

    第一部分: 在使用Intel芯片的Macintosh计算机开发iOS应用程序所需的全部接口.工具以及资源全都包含于iPhone SDK. 苹果公司将大部分系统接口发布在框架这种特殊的数据包.一个框架就 ...

  7. 从零开始学ios开发(八):Autorotation and Autosizing

    不好意思,这一篇间隔的时间有点长,最近实在是事情太多,耽搁了,好了,长话短说,下面继续学习ios. 这次学习的内容是Autorotation和Autosizing,Autorotation就是屏幕内容 ...

  8. 从零开始学ios开发(十九):Application Settings and User Defaults(上)

    在iphone和ipad中,有一个东西大家一定很熟悉,那个东西就是Settings. 这次要学习的东西说白了很简单,就是学习如何在Settings中对一个app的某些属性进行设置,反过来,在app中更 ...

  9. 从零开始学ios开发(四):IOS控件(1),Image View、Text Field、Keyboard

    长话短说,谢谢大家的关注,这篇写了好长时间,下面继续学习ios.我将用2到3篇的篇幅来学习iphone上的一些常用控件,包括Image View.Text Field.Keyboard.Slider等 ...

随机推荐

  1. EF Entity Framework Core DBContext中文文档

    Add(Object) 以添加状态开始跟踪给定的实体和任何其他尚未被跟踪的可访问实体,以便在调用SaveChanges()时将它们插入数据库.使用State设置单个实体的状态. Add<TEnt ...

  2. STM32与CH455g通信测试(仅键盘)

    1.概述 CH455是数码管显示驱动和键盘扫描控制芯片.CH455内置时钟振荡电路,可以动态驱动4位数码管或者32只LED:同时还可以进行28键的键盘扫描:CH455通过SCL和SDA组成的2线串行接 ...

  3. 081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字

    081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字 本文知识点:new关键字 说明:因为时间紧张,本人写博客过程中只是 ...

  4. Python3基础——字符串类型

    Text Sequence Type - str(immutable) class str(object='') class str(object=b'', encoding='utf-8', err ...

  5. 《VC++ 深入详解》 第3版 这是盗版书么~。。。

    <VC++ 深入详解> 第3版 www.broadview.com.cn 书读到一小半,发现书重复了一部分,缺失一部分.... 难受~ 比较难继续下去了 有一样的小伙伴么~ <VC+ ...

  6. 数字PLL,什么是数字PLL

    来源:http://www.elecfans.com/baike/bandaoti/bandaotiqijian/20100323203306.html 数字PLL,什么是数字PLL 数字PLL PL ...

  7. Arduino 语法与函数

    Arduino programs can be divided in three main parts: structure, values (variables and constants), an ...

  8. Android高级控件(下)

    计时器(Chronometer) getBase() 基准时间 setFormat() 设置显示格式 start() 开始计时 stop() 停止计时 setOnChronometerListener ...

  9. c#类(class)

    类 类的定义是以关键字class开始的,后面跟类的名称,类的主题包含一个花括号里,下面是类定义的一般格式. <access specifier> class class_name { // ...

  10. 二进制搭建kubernetes-1.18.6单master集群

    master组件 kube-apiserver kubernetes API集群的同一入口,各组件协调者,以RESTful API提供接口服务,所有对象资源的增删改查和监听操作都交给APIserver ...