ViewController编程指南

2015-08-17
阅读 2 分钟
2.5k
View Controller是App内部结构的基础。每个App至少含有一个View Controller,大多数会含有多个。每个View Controller管理着App用户界面的一部分,包括这些界面间的交互以及潜在的数据。View Controller也管理不同用户界面间的过渡。

Tips For Views

2015-08-07
阅读 1 分钟
1.6k
在应用中,几乎没有View和View Controller一一对应的时候。View Controller的作用是管理一个view hierarchy(通常由一系列view组成,用来实现某些feature)。对于iPhone应用,每个view hierarchy通常会填满整个屏幕,但是对于iPad应用,它只填充部分屏幕。 在设计应用的UI时,考虑view controller所扮演的角色是非常重要...

关于Property中Copy属性的一个例子

2015-07-31
阅读 1 分钟
1.9k
根据苹果官方文档对具有copy属性的property的行为的定义,它会拷贝一份instance,在这份新的instance上对引用计数加一。 情况1:直接使用instance variable进行赋值操作,这样使得myTest Property对aString进行了Strong引用,因此调用了initWithMyTestString后,对name的引用计数为2,myTest直接指向的是name,所以当name...

Lisp学习笔记(四)

2014-12-17
阅读 1 分钟
2.1k
带有局部状态的队列实现: {代码...} 使用的编译器是DrScheme,语言是R5RS。 使用这种消息分发的实现方式,封装性更强,扩展起来也比较容易。

Lisp学习笔记(三)

2014-08-26
阅读 2 分钟
2.7k
高阶函数抽象 高阶过程以过程作为参数,或者以过程作为返回值。 试想对于求和公式:f(a)+....f(b),如何描述她的过程呢?求和的模板是下面的描述: {代码...} 上面的代码中,term就是求和公式中的f,next则是求和参数的变化过程。我们将上面的过程翻译成lisp: {代码...} 上面是一个递归过程,我们还可以写成迭代过程: ...

Lisp学习笔记(二)

2014-08-22
阅读 2 分钟
2.9k
线性递归与线性迭代 对于阶乘运算n!,采用递归形式编写是非常容易理解的: {代码...} 计算6!,其执行过程是这样的: {代码...} 可以看出,在计算n!过程中,推迟执行的乘法链条的长度,也就是为保存其轨迹需要保存的数据量,这个长度随着n值而线性增长。 下面我们采用迭代形式来重构这个过程: {代码...} 这里我们定义...

Lisp学习笔记(一)

2014-08-20
阅读 2 分钟
3k
Lisp是20世纪50年代后期发明的一种记法形式,是为了能够某种特定形式的逻辑表达式(递归方程)的使用做推理。它并不是一种主流语言,但是它具有许多独有的特性,这些特性使它成为研究重要程序的设计、构造,以及各种数据结构,并将其关联于支持他们的语言特征的一种极佳媒介。这些特种中最重要的就是:计算过程的Lisp描...

C语言中的泛型编程(二)

2014-07-26
阅读 2 分钟
3.9k
这是一个实现线性查找功能的函数,参数key是我们要查找的元素,base是查找数组的基地址,n为数组的长度,elemSize是元素类型的大小,cmpFn是一个函数指针,这个函数由我们自己提供。其中要注意的是下面这一句:

C语言中的泛型编程(一)

2014-07-25
阅读 1 分钟
9.8k
泛型编程(generic programming)是C++语言中的一个重要特性。基于C++和C语言之间的紧密关系,C语言中通过一定的技巧也可以实现泛型编程。