建立iOS学习体系之内功篇(纯干货)

我准备出一系列的学习体系, 从秘籍(入门)->内功(修炼)->心法(融合)->大成(拥有自己的学习方法)
如何建立iOS学习体系之秘籍篇(纯干货)

如果大家需要可以评论或者私信我,我会将我文章中分享的图书 pdf、epub、mobi 版本共享给大家!

做开发就像小说一样需要修炼内在的东西, 它将会让你更加懂得如何走向一个更大的舞台, 这篇 内功篇 主要将以下几个内容 :

  1. 当你已经入门iOS后, 应该通过几种形式来提高自己的基础能力
  2. 学会使用他人的框架, 并且从中吸取你需要的知识
  3. 融会贯通, 在自己编码时适当的使用一些设计模式
  4. 多练、多学、多分享

下面我将这几个大点逐一拆分进行细致的讲解 ... ...

1. 当你已经入门iOS后, 应该通过几种形式来提高自己的基础能力

当看到这里的时候, 相信你已经拥有了编写基础部分的能力, 那么基础部分指的是什么呢?

  1. @property 是什么?它会自动生成什么?不同的参数/属性 代表着什么意思?使用场景是什么?
  1. UITableView , UICollectionView 在使用的时候, 不同的自定义cell、item是否应用熟练,?
  1. Autolayout是否熟练?
  1. MVC是否理解?其他的理解吗?例如: MVVM , MVP
  1. 网络层有了解吗? NSURLSession有什么优点吗?为什么使用HTTPS?
  1. AFN, SDWebImage 这两个刚刚接触的框架, 他们的基本运行原理你了解吗?
  1. CGContextRef 了解吗?
  1. CABasicAnimation 了解吗?
  1. 列表控件多时为什么会卡?能优化吗?怎么优化?
  1. 为什么弃用UIWebView?它有什么问题?用什么替代?
  1. pthread、NSLock 用过吗?使用有什么注意的地方吗?
  1. copy, mutableCopy 有什么区别吗?
  1. CGD, NSThread 用过吗?有什么区别吗?NSRunLoop知道吗? 它与线程的关系知道吗?
  1. 内存管理知道吗?ARC是如何进行内存布局的?怎么做到的自动释放?@autoreleasepool 用过吗?它是做什么的?
  1. Delegate、NSNotification、KVO、KVC、Block都知道吗?它们是做什么的?什么场景使用?
  1. 一切皆对象你同意吗?
  1. Runtime 你用过吗? (基本的使用也可以) OC是动态语言你同意吗?
  1. OC 有多继承吗?Category?
  1. 沙盒知道吗?用来干什么的?有几个文件?分别什么作用?
  1. 了解过最新的流行框架吗?WWDC?
  1. 怎么看源码知道吗?苹果开发了一些源码?
  1. Block为什么会循环引用? __block 修饰后为什么可以在block中使用?block 为什么要用copy修饰?

... ...

相信你看到这里基本已经对现有的市场以及作者有所质疑。 老子刚学iOS,你就要求会这会那的!

其实不然, 正因为我是填过坑, 所以才不想让你们的学习之路漫漫, 这些都是一些基本的问题, 说出来说明你关注的问题比较深入, 说不出来也没关系, 你知道了自己当前的问题, 以及努力的方向, 相信总有一天, 回过头来看这些问题, 对你来说, 不值一提. 瞬间秒杀

相信大部分问题的答案你都可以baidu, google出来.如果有需求,我可以自问自答,再整理一篇答案.

2.学会使用他人的框架, 并且从中吸取你需要的知识

就以上面我们说过的AFNetworking举例说明(也可以说是Alamofire):

AFN 基本结构:

AFNetWorking , 头文件, 引入所有需要的类. 通过引入它, 你可以获取AFN的所有功能.

AFURLSessionManager 核心类, 通过它来实现大部分网络相关功能

AFHTTPSessionManager 作为AFURLSessionManager的子类, 实现请求优化处理.

AFURLRequestSerialization 请求处理, 编解码、优化、拼接请求等.

AFURLResponseSerialization 响应处理,序列化、回调分发、数据处理等.

AFSecurityPolicy 请求认证

AFNetworkReachabilityManager 监听网络请求状态变化

值得借鉴的地方:

  1. 使用NSRunloop 默认在后台保持一条线程,监听用户状态变化,不需要时休眠,需要时唤醒。不需要每次都创建新线程来浪费手机空间
  1. dispatch_semaphore_t 控制对异步处理返回结果的控制,避免线程之间出现资源竞争问题
  1. 代码思路清晰,结构明确
  1. 支持多种格式的解析, 流行的多为json和xml
  1. 安全方面也给出了很多的对应接口, 而且调用方便明了

... ...

再举个栗子

ReactiveCocoa 函数响应式编程

那么什么是函数响应式编程?

我的理解是:当一个事件发生时,你需要对其进行监听并作出相应的处理,这里 传输这个事件的桥梁就称为 函数响应式编程

具体的例子:比如你要监听ScrollView的滚动,或者按钮点击的action,或者View根据Model的变化动态 。 这一系列的东西都可以使用RAC作为实现,它提出了一个不一样的编程角度!

MVVM框架的交互就可以使用RAC来搭建桥梁。

这里只是进行一个简单的介绍,RAC方面的话还需要下功夫去学习一下,有兴趣的同学可以follow我,我以后会出相关使用的教程等。

3.融会贯通, 在自己编码时适当的使用一些设计模式

其实关于设计模式部分还是有很多需要聊得,这里简单对其进行一个介绍

什么是设计模式?

我的理解来看,它是为了各个场景而生,在各种不同情况下,要怎么解决问题的一种方案!如我们老生常谈的面向对象就是设计模式的一种,常类别或者对象来描述

那么这里我推荐给大家一本入门的书,大话设计模式,很适合新手看,中级也可以查漏补缺,就是这本
我有它的pdf版本,会在网盘中共享出来。

这里还有几本设计模式、技能扩展相关的文章以及图书,大家可以借鉴一下

  1. design_patterns
  1. Head First
  1. 设计模式之禅(第2版)
  1. Objective-C编程之道
  1. 程序员的自我修养
  1. 网络是怎样连接的
  1. 程序是怎样跑起来的
  1. 计算机是怎样跑起来的
  1. TCP/IP详解卷1:协议
  1. 现代操作系统(原书第3版)
  1. 深入理解计算机系统(原书第3版)
  1. Python编程快速上手:让繁琐工作自动化
  1. 机器学习

4. 多练、多学、多分享

当你看过一些优秀的框架之后,一定要试着融汇到自己的项目中去使用,这样做才能加深记忆,还可以更好的去理解其原理及为什么这么做

无论在工作还是平时,一定要多于他人沟通自己的想法,分享自己的心得,总结自己技巧、想法。

我在这里强烈推荐大家开始写博客,当做笔记也好,写着玩当日记也罢,写什么都可以,最主要的是迈开第一步,相信以后的路会有很多条供你选择。

一定要经常进行总结,将平时的Bug、Category、Views、Animations 等 统统总结起来,可以揉到一起、也可以放到github上与大家分享自己的小Demo。

也可以搭建自己的博客,不需要购买域名,通过 github + hexo 就可以轻松的拥有自己的网页,你可以在上面随心所欲。

这是我总结经验的第二篇文章,总共四篇,希望可以帮助到你!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容