[ios] blocks

blocks:

有序列的代码指令块

^(){

blocksContent.

}


1外部参数对block read only

2但是如果外部对象

为 

__block x类型 xxx;

则可以在block中使用。

3如果你在block中写了一个实例对象。

这个对象是在block外也可以使用的。

ios 实例变量 _x

typedef double (^xxx)(double op)

类别为:xxx

传入参数:1个 doulbe类型

返回类型:double

如果是

double (^xxx)(double op)=^(double op){return op * op}

则是直接对xxx设置block内容。

typedef double (^blockName)(double op)

如果没有返回值 或者可以被推断[就是你返回double 等这些 系统知道的 而不是你写的]那么可以

写成:

^(double op){

}

省略了返回值。

block里面的任何对象都需要一个strong的指针。

如果遇到memory cycles 

则使用__weak xclass xx;

猜你喜欢

转载自poolo.iteye.com/blog/1700819