博客新地址:www.narutoyq.cc

代码改变世界

block 解析 - 形参变量

2014-07-31 15:03 by 小 叶, 1248 阅读, 0 推荐, 收藏, 编辑
摘要:block形参之前漏了一篇block形参的介绍,这里给补上。block形参就是定义block带的参数,和函数的参数使用一样,我们可以在block随意使用修改block形参。我们来看个例子:我们声明了两个NSString 指针_p1 _p2、int 型_p3、可变数组_p4,并把这些参数传入block... 阅读全文

block 解析 - 内存

2014-07-29 15:47 by 小 叶, 1180 阅读, 1 推荐, 收藏, 编辑
摘要:回顾上一篇我们了解到了用__block修饰的变量,可以在block内部修改,__block变量其实对应一个结构体struct __Block_byref__para1_0 { void *__isa;__Block_byref__para1_0 *__forwarding; int __flags... 阅读全文

block 解析 - block变量

2014-07-28 17:50 by 小 叶, 827 阅读, 2 推荐, 收藏, 编辑
摘要:block变量上一篇 讲的是block静态变量的特性,这里我们来看一下_block变量。引用官方:You can specify that an imported variable be mutable—that is, read-write— by applying the__blockstora... 阅读全文

block 解析 - 静态变量

2014-07-28 17:48 by 小 叶, 607 阅读, 0 推荐, 收藏, 编辑
摘要:静态变量上一篇我们了解了block全局变量的使用,静态变量和全局变量一样,可以直接在block内部使用,也可以在block内部修改引用官方文档:Global variables are accessible, including static variables that exist within ... 阅读全文

block 解析 - 成员变量

2014-07-28 15:12 by 小 叶, 2861 阅读, 0 推荐, 收藏, 编辑
摘要:回顾在上一篇中我们讲了截获变量特性,对于局部变量,变量不加__block修饰符,在block内部是无法修改变量的值。而且对值类型的修改,如果block初始化后,无法同步到block内部对于指针类型的修改,如果block初始化后,修改指针指向,即指向另外一块内存,这样也是无法同步到block内部对于指... 阅读全文

block 解析 - 局部变量

2014-07-28 14:56 by 小 叶, 1474 阅读, 0 推荐, 收藏, 编辑
摘要:局部变量block内使用局部变量,一般都是截获变量(只读),截获离block初始化最近的一次的值。引用官方文档:Stack (non-static) variables local to the enclosing lexical scope are captured asconst variabl... 阅读全文

block 解析 - 简介

2014-07-26 21:05 by 小 叶, 1017 阅读, 2 推荐, 收藏, 编辑
摘要:简介block 类似标准的c函数,除了一些函数体一些可执行的代码,还可以把变量绑定到自动栈或者托管堆上.....和js里的闭包、c# lambda表达式有些类似,实质是一个函数指针。与函数指针的区别在于其可以捕获(capture)其定义时作用域内的变量。Block objects are a C-l... 阅读全文