循環(huán)引用
兩個類,都互相引用了對方時,可能導(dǎo)致循環(huán)引用,用弱指針可破循環(huán)。
block

Paste_Image.png
按照調(diào)用函數(shù)的方式調(diào)用塊對象變量就可以了:int result = myBlock(4); // result是 28
block可以使用和改變?nèi)肿兞?;只能使用局部變量,若加_block可以改變。
代碼塊(block)的遞歸調(diào)用:
必須是全局變量或靜態(tài)變量。
1static void (^ const blocks)(int) = ^(int i)
2 {
3 if (i > 0) {
4 NSLog(@"num:%d", i);
5 blocks(i - 1);
6 }
7 };
8 blocks(3);
運行打印結(jié)果:
num:3
num:2
num:1