码迷,mamicode.com
首页 > 移动开发 > 详细

iOS复习笔记10:使用Block

时间:2015-01-31 00:31:19      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:ios   objective-c   block   

功能:保存一段代码,可以在任何时间执行。
标志:^
跟函数类似:
1 可以保存一段代码
2 有返回值
3 有形参
4 调用方式
变量声明:更函数指针变量类似
返回值类型 (^变量名)(参数类型列表)


typedef:
返回值和参数一致的block可以typedef为同一种类型


权限:
block内部可以访问外面的变量;
但是,默认情况下,block内部不能修改外面的局部变量;
可以在局部变量加上__block关键字之后,这个变量就可以在block内部修改。




示例:
// main.m
#import <Foundation/Foundation.h>


typedef int (^MulBlock)(int, int));


int main()
{
	// 定义一段block,并赋值给block变量block1
	void (^block1)() = ^{//如果没有形参,可以省略参数列表
		NSLog(@"this is a block");
	};
	// 执行block
	block1();


	int (^addBlock)(int, int));
	


	addBlock = ^(int a, int b){
		return a + b;
	};


	int (^subBlock)(int, int)) = ^(int a, int b){
		return a - b;
	};


	NSLog(@"%d + %d ", addBlock(2, 1), subBlock(2 - 1));


	MulBlock add = ^(int a, in b){
		return a + b;
	};


	MulBlock mul = ^(int a, in b){
		return a * b;
	};


	return 0;
}


iOS复习笔记10:使用Block

标签:ios   objective-c   block   

原文地址:http://blog.csdn.net/xufeng0991/article/details/43319269

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!