【学习笔记】【oc】Block
块(block):类似于定义一个匿名的函数。至于其他什么用处我就不知道了
块的定义:
^[块返回值类型](形参类型1 形参1, 形参类型2 形参2,。。。)
{
//块执行体
}
跟函数语法格式的差别:
1.定义块必须以^开头
2.可以省略块返回值类型
3.定义块无须指定名字
4.如果没有形参,()不能省略,一般用void充当占位符
如果还要接下来还要调用定义好的块,可以将块赋给一个块变量;
定义块变量的语法格式:
块返回值类型(^块变量名)(形参类型1,形参类型2,...);
块与局部变量
块可以访问局部变量,但不能修改局部变量的值;
块在定义时,会将局部变量的值传入到块中,之后局部变量改变,对块不造成任何影响;
如果需要修改局部变量的值,而且不希望将局部变量的值保存在块中,需要用 _block 前缀来定义局部变量;
使用typedef定义块类型
typedef 块返回值类型(^块类型)(形参类型1[形参名1],形参类型2[形参2],...);
定义块变量用2个好处:
(1)可以重复定义几个块变量
(2)使用块类型定义函数参数,可以定义带块参数的函数。
#warming 怎么定义使用带块参数的函数?
【学习笔记】【oc】Block的更多相关文章
- iOS学习笔记之Block
		
写在前面 学习iOS开发的过程中,在很多场合都遇到了Block.说实话,虽然自己依葫芦画瓢的将Block"拿来"用着,但这种"拿来主义"与学习时应持有的探索精神 ...
 - 初探swift语言的学习笔记十(block)
		
作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/35783341 转载请注明出处 假设觉得文章对你有所帮助,请通过留言 ...
 - iOS学习笔记---oc语言第三天
		
继承.初始化方法 一.继承 继承的上层:父类 继承的下层:子类 继承是单向的,不能相互继承 继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和行为 子类能继承父类全部的特征和行为(私有变量 ...
 - iOS学习笔记---oc语言第一天
		
第一讲 初始类和对象 c语言的超集,允许在oc中使用c语言源代码.编译器兼容c语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富 面向对象编程 oop 面向对象语言:c++ java ...
 - iOS学习笔记--OC系列(1)
		
前言 从学校毕业进入公司工作已经第3个年头了,回顾这3年的经历,有种迷茫的感觉.在公司我主要是做零售业公司的系统维护,接触的主要是Oracle的Database的东西.但是业务知识和oracle,都没 ...
 - Objective-C学习笔记之block
		
//定义一个函数,传入block类型参数myBlock5 int fun(int (^myBlock5)(int a,int b)) { return myBlock5(10,20); } int ( ...
 - iOS学习笔记---oc语言第六天
		
Block .数组高级 block本质上就是匿名函数(没有名称的函数) block语法和函数指针很相似 回顾函数 函数:C语⾔中,实现某一类功能的代码段. 完整的函数包含两部分:函数声明.函数定义 函 ...
 - iOS学习笔记---oc语言第五天
		
字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key- ...
 - iOS学习笔记---oc语言第四天
		
字符串 数组 一.使用苹果帮助文档 学会使⽤用苹果帮助⽂文档是开发者的⼀一项技能 Inherits from 继承⾃自 Conforms to 遵循什么协议 Framework 属于哪个框架 Avai ...
 - iOS学习笔记---oc语言第二天
		
实例变量与方法 一.实例变量的可见度 二.方法 oc中的方法分两种:类方法和实例方法 类方法:只能类使用 eg:+ (id)alloc 注:类方法中不能使用实例变量 实例方法:只能对象使用,eg:- ...
 
随机推荐
- Delphi——Window 消息 -  转载▼
			
Delphi是Borland公司的一种面向对象的可视化软件开发工具. Delphi集中了Visual C++和Visual Basic两者的优点:容易上手.功能强大,特别是在界面设计.数据库编程.网络 ...
 - bin
			
动态链接库(Dynamic Link Library或者Dynamic-link library,缩写为DLL),是微软公司在微软视窗操作系统(即Windows操作系统)中实现共享函数库概念的一种方式 ...
 - 如何安装Windows 8系统中的telnet组件
			
知识点分析:Window 8 系统中Telnet没有默认安装,成为了一个可选组件,“启用或关闭Windows功能”下即可添加此组件. 操作步骤:1.系统桌面下同时按住键盘上 “Windows” 和“X ...
 - css中居中的居中方法
			
1:给div设置一个宽度,然后添加margin:0 auto属性 div{ width:200px; margin:0 auto; } 2:居中一个浮动元素 确定容器的宽高 宽500 高 300 的层 ...
 - django 执行原始SQL
			
二.知识点总结 When the model query APIs don’t go far enough, you can fall back to writing raw SQL. go far ...
 - jsp页面中定时的方法
			
$(function(){ totaladd(); //定时时触发的函数 setInterval(totaladd,3000);//设置定时1000=1秒 }); function totaladd( ...
 - div 固定宽高 水平垂直居中方法
			
div固定宽高,水平垂直居中,根据所用单位不同,分成两种情况,分别是"px"和"%"情况. 例:将三层div做出三个边框,要求水平垂直居中.效果如图 情况一(单 ...
 - Ecstore内置表单验证?
			
 - (转)\r \r\n \t 的区别
			
小风吹雪 \r \r\n \t 的区别 http://www.360doc.com/content/12/0530/15/16538_214756101.shtml \n 软回车: 在Wi ...
 - java代码实现 金字塔(倒置)
			
在jsp中实现如图所示的金字塔,,代码如下: 大致思路如下: 1.先画出前5行.因为 i+空格数=总行数,所以第一行的空格数是 总行数-i(第几行),然后画出 *,*的数目=2*i-11: 2.在画出 ...