Step By Step.

Auto Layout&Size Classes 10月 5 2014

简介

我感觉这是一个划时代的布局计数,真正的把机器语言转换成了符合人类的语言。在过去,我们布局都是去设定这个控件的起始坐标和宽高,这其实是很不友好的,比如说,你从来不会说我家的沙发是在客厅的(0,0)坐标开始,往东长3米,往南长2米,这种很奇怪的描述位置的话。更多的你会选择说,靠墙,1米宽,等这种很符合人类思考的话描述。

阅读此文

函数式编程 9月 26 2014

从接触编程到现在,也接触过很多编程范式,从入门级的面向结构,到现在如日中天的面向对象,还有在web开发中很流行的面向切面的编程思想等。这一次要介绍的主题是:函数式的编程思想。

Native app有很大一部分的时间是在等待事件发生,然后响应事件,比如等待网络请求完成,等待用户的操作,等待某些状态值的改变等等,等这些事件发生后,再做进一步处理。 但是这些等待和响应,并没有一个统一的处理方式。Delegate, Notification, Block, KVO, 常常会不知道该用哪个最合适。

阅读此文

MRC&ARC进阶 9月 23 2014

最近公司项目不再需要适配ios5了(3q God),终于可以使用一些比较吊的特性了,比如说Auto Layout,不过呢,这次的主题是在ios5中就有的ARC,乘着这次改版,顺带巩固和学习下ios的内存管理。

谈谈苹果使用过的内存管理策略

  1. 手动引用计数(MRC):每个对象都有一个retain计数,当retain为0的时候释放对象。
  2. 垃圾回收机制(GC):主要是监视整个对象关系图,查找那些作用域内没有任何引用的对象,然后释放。
  3. 自动引用计数(ARC):也是基于手动引用计数的,不过编译器来管理。

之所以要引入ARC,主要是因为,手动引用计数需要手动进行,增加工作量,开发时需要显示的retain和release,而且容易循环retain;而垃圾回收机制容易产生性能损耗,更何况是在手机上。

阅读此文

KVC&KVO 9月 9 2014

简介

从原理上来说,它的实现根本是OC的动态性和运行时机制,每一门面向对象语言都能在运行时来动态的分配和改变内存。
从设计模式的角度来看,KVC/KVO是观察者模式的一种实现,用来降低 model 与 view 的耦合程度;
从协议的角度看,它的本质是定义了一套让我们去遵守的方法,在NSObject中实现了NSKeyValueCoding/NSKeyValueObserving的非正式协议

阅读此文

买车记 8月 18 2014

前言

一切都来的太突然,辞职,看房,买车,最近一个礼拜伴随着压抑的缠绵的讨厌的雨,心情也是很沉重。看着父母的愁容,心里也很过意不去,唯有努力工作,好好报答了。

公司离家比较远,不买车也不行了,看过去租房,还是算了,房租也够邮费了,而且以后肯定是两个人生活啊,双人租房好贵的,就这么安慰自己。。。

阅读此文