想学 iOS 开发高阶一点的东西,从何开始?
前言
如果你正在学习 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上有几个开源项目,有多少star
和Fork
。这些比简历含金量高。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 开发高阶一点的东西,从何开始?的更多相关文章
- 我是该学JAVA呢,还是学IOS开发呢?
摘要: iOS就像Andriod一样,不是编程语言,而是操作系统.学iOS开发,其实学的是如何用Objective-C在苹果操作系统上进行各种应用程序的开发.就像学Andriod开发,其实是学如何用J ...
- 从零开始学 iOS 开发的15条建议
事情困难是事实,再困难的事还是要每天努力去做是更大的事实. 因为我是一路自学过来的,并且公认没什么天赋的前提下,进步得不算太慢,所以有很多打算从零开始的朋友会问我,该怎么学iOS开发.跟粉丝群的朋友交 ...
- 从零开始学IOS开发
从今天开始开一个坑,由于业务变动,要开始学习IOS开发进行IOS app开发,其实鄙人本身就是一只菜鸟加大学狗,有过两年的C#,ASP.NET MVC,微信公众平台开发经验,一只在继续努力着,从大三下 ...
- 从零开始学ios开发(三):第一个有交互的app
感谢大家的关注,也给我一份动力,让我继续前进.有了自己的家庭有了孩子,过着上有老下有小的生活,能够挤出点时间学习真的很难,每天弄好孩子睡觉已经是晚上10点左右了,然后再弄自己的事情,一转眼很快就到12 ...
- 从零开始学ios开发(一):准备起航
首先介绍一下自己的背景,本人09年研究生毕业,大学就不介绍了,反正是上海的一所211大学,学的是计算机科学与技术专业,学生时代,从事过ACM,没有什么太大的成就,中国的牛人是在太多,我的水平,估计连高 ...
- iOS开发---iPhone SDK 包含哪些东西?
第一部分: 在使用Intel芯片的Macintosh计算机开发iOS应用程序所需的全部接口.工具以及资源全都包含于iPhone SDK. 苹果公司将大部分系统接口发布在框架这种特殊的数据包.一个框架就 ...
- 从零开始学ios开发(八):Autorotation and Autosizing
不好意思,这一篇间隔的时间有点长,最近实在是事情太多,耽搁了,好了,长话短说,下面继续学习ios. 这次学习的内容是Autorotation和Autosizing,Autorotation就是屏幕内容 ...
- 从零开始学ios开发(十九):Application Settings and User Defaults(上)
在iphone和ipad中,有一个东西大家一定很熟悉,那个东西就是Settings. 这次要学习的东西说白了很简单,就是学习如何在Settings中对一个app的某些属性进行设置,反过来,在app中更 ...
- 从零开始学ios开发(四):IOS控件(1),Image View、Text Field、Keyboard
长话短说,谢谢大家的关注,这篇写了好长时间,下面继续学习ios.我将用2到3篇的篇幅来学习iphone上的一些常用控件,包括Image View.Text Field.Keyboard.Slider等 ...
随机推荐
- jQuery中使用$.each()遍历数组时要注意的地方
使用jQuery中 $.each()遍历数组,要遍历的数组不能为空(arry!="") 例如: $.each(arry, function (i, item) ...
- sqli-labs第二关 详解
学会了第一关,时隔多天来到了第二关,怎么说了没有看wp就给做出来了. 首先,我是自己先判断了下,这个是什么注入 ?id=1' 不行 ?id=1' or '1'='1--+ 也不行 然后又尝试了下 ?i ...
- Python实现的数据结构与算法之基本搜索详解
一.顺序搜索 顺序搜索 是最简单直观的搜索方法:从列表开头到末尾,逐个比较待搜索项与列表中的项,直到找到目标项(搜索成功)或者 超出搜索范围 (搜索失败). 根据列表中的项是否按顺序排列,可以将列表分 ...
- 2020 CSP-J 初赛答案及解析
部分咕咕咕的明天一定 单项选择 A A D 解析 : 与z的都是假 C 解析 : $ \frac{2048\times1024\times32}{8\times1024\times1024}=8$ C ...
- 秒懂JVM的垃圾回收机制
前言 阅读过王子之前JVM文章的小伙伴们,应该已经对JVM的内存分布情况有了一个清晰的认识了,今天我们就接着来聊聊JVM的垃圾回收机制,让小伙伴们轻松理解JVM是怎么进行垃圾回收的. 复制算法.Ede ...
- C和C++区别——前置自增与后置自增
一.先看下面两段完全一样的代码块 /* test.cpp */ int main() { int a = 5; ++a = 7; printf("%d\n", a); return ...
- ERP订单管理的操作与设计--开源软件诞生19
赤龙ERP订单模块讲解--第19篇 用日志记录"开源软件"的诞生 [点亮星标]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redragon/r ...
- scrapy数据写入管道
1 setting里面启动管道 ITEM_PIPELINES = { 'ganji.pipelines.GanjiPipeline': 300,}2 拿到的数据通过yield返回给管道 # -*- c ...
- java 实体对象转Map公共类
java 实体对象转Map公共类 package org.kxtkx.portal.utils; import java.lang.reflect.Field; import java.util.Ha ...
- 测试之-Jmeter使用
一. 修改语言 修改 在 bin 目录下的 Jemeter.properties 二 . Jmeter主要元件 1.测试计划:是使用 JMeter 进行测试的起点,它是其它 JMeter测试元件的容器 ...