Learning methods - 1

学习需要投入和刻苦,但是良好学习方法和习惯就像一剂强大的催化剂 --- 特地开一贴总结编程学习中的学习方法


1.需要找到高效的痛点 - 以不变应万变

我的编程完全属于自学,学校就别提了(重本坑),坑神学院还没能遇到好的队友,还好最后遇到了好的师兄,千言万语的鸡汤文不及师兄的一句中肯的提点。~跑题了额,今天(5-28/2015)无意听到斌哥的一句可以加个tap手势在imageView上实现点击啊,脑子搜索一惊,原来可以在控件上针对性地加手势啊。马上思考了一下,在Xcode上码了个imageview addGestureRecognizer...点进入方法一看:- (void)addGestureRecognizer:(UIGestureRecognizer*)gestureRecognizer NS_AVAILABLE_IOS(3_2);

这个加手势的方法是UIView带的,而所用的控件都是继承UIView的,当然都有啊。

面向对象一个非常重要的特点是继承,以上的晕乎就是因为没有抓住继承这个重要的概念,只要是继承UIView的类都可以采用UIView的方法,同理,顺应别的情况。

故:需要找到高效的痛点 - 以不变应万变~



2.对新技术的敏锐

有一句话称为以不变应万变,其实说的是深刻理解原理和基础然后才可以灵活通变,然而,在技术学习上,对新技术的敏锐的sense是何其重要,iOS在iOS6上讲静态库的封装过程和framework的封装过程给分离了,然后在选择部署环境上:Deployment Target上只能从iOS6开始选择,所以凯萍才会说iOS6开始对静态库是支持framework。



3.理解的多方验证,力求对知识的实事求是!

在学习图形绘制的时候,我加了个人“想当然式的”理解和分析,还好加以手动的编程验证才挽回了不必要的曲解,说明了个人的理解最重要是要落实到对事实、对知识的验证,不然理解成了曲解!



4.在适当的时期学习适当的难点

刚毕业的一个月,参与37的工作并不忙,有很多属于自己的学习时间,所以我就想着从官方文档入手来学习,希望搭建一个具体、规范的iOS体系结构,然而事实上,我越看越生晦,越看越没有自信,后来总结才觉得,自己的英文文档的阅读水平的确是有限的,导致阅读庞大的官方文档来学习会让我越感到无力和不自信,而建立体系架构,不一定要从难度较高的官方文档。



5.如何高效学习一个工程

学习一个工程,可以最开头从这个最重效果去看看,比如运行一下所有功能,使用一下炫酷的地方,理解和思考具体的实现是如何的。在工程的代码,你可以从单纯的MVC去了解和理解各个功能部件是怎么实现的,但是比较难的是存在的耦合,例如委托等设计模式的交接,这个时候要懂得如何拆分部件,从而掌握每一个的实现。

但是只是掌握了单纯的实现还不够,除了汲取当中炫酷的实现,还要想着能不能用更优雅的方法去实现!



6.挖掘解决问题的方法

当在解决强更机制无法实现的时候,一脑都是浆糊,怎么办?  面对这种问题我实在无力解决,但是伟哥总能很强大的想到方法 — 用charles抓其他渠道的实现,用Compare工具来比较实现的不同,从来解决!



7.抓住事物的本质! 学习亦然!


这段代码, 其实block就是一个变量,一个对象,所以很好理解!!!  



8.语言学习

接触过几种语言后才明白,语言本身的价值不是最大的,而是编程理论体系下的思想,原理,为什么要这样设计和为什么要有这种东西的价值才是王道!



待续...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值