IOS学习之路--BLOCK
/*
1.定义block变量:
返回值类型 (^block变量名) (参数类型1, 参数类型2, ....); 2.给block变量赋值
block变量名 = ^(参数类型1 参数名称1, .....)
{ };
*/ /*
1.设置动画属性 2.开始执行动画 3.动画执行完毕 block1 = ^{
封装了动画开始执行前想做的事情
}; block2 = ^{
封装了动画执行完毕后想做的事情
};
*/ #import <Foundation/Foundation.h> //typedef int MyInt; // MyBlock其实就是新的数据类型名称
typedef int (^MyBlock)(int, int); /*
需要掌握:
1.定义block变量
2.给block变量赋值
3.type和block的应用
*/ int main(int argc, const char * argv[])
{
MyBlock minus = ^(int a, int b)
{
return a - b;
};
int d = minus(,);NSLog(@"d id %d", d); MyBlock sum = ^(int v1, int v2)
{
return v1 + v2;
}; int e = sum(, );
NSLog(@"e is %d", e); /*
int (^minusBlock) (int, int) = ^(int a, int b){
return a - b;
};
minusBlock(10, 5); int (^averageBlock) (int, int) = ^(int a, int b)
{
return (a+ b)/2;
};*/ return ;
} void test2()
{
int a = ; __block int b = ; // block内部不能修改默认的局部变量
// 定义一个block变量
void (^block) () = ^{
//a = 11;
b = ;
NSLog(@"b=%d", b);
}; block();
block();
block();
} void test()
{
// 左边的void:block没有返回值
// 最右边的() :没有参数
// 中间的(^) block的标志,不能少
void (^myblock)() = ^{
int a = ;
int b = ;
NSLog(@"a=%d, b=%d", a, b);
};
myblock(); // 定义一个block变量,变量名是sumBlock
// 最左边的int:block的返回值是int类型
// 最右边的(int, int) block接受两个int类型的参数
int (^sumBlock)(int, int);
sumBlock = ^(int v1, int v2){
return v1 + v2;
}; int sum = sumBlock(, );
NSLog(@"sum=%d", sum);
}
IOS学习之路--BLOCK的更多相关文章
- IOS开发---菜鸟学习之路--(二十二)-近期感想以及我的IOS学习之路
在不知不觉当中已经写了21篇内容 其实一开始是没有想些什么东西的 只是买了Air后 感觉用着挺舒服的,每天可以躺在床上,就一台笔记本,不用网线,不用电源,不用鼠标,不用键盘,干干脆脆的就一台笔记本. ...
- 浅谈iOS学习之路(转)
转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...
- 浅谈iOS学习之路
转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...
- 纪录我的iOS学习之路
学习资料的网址 田伟宇(Casa Taloyum)有几篇介绍iOS架构的文章,一级棒!原博客链接. iOS应用架构谈 开篇 iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方 ...
- IOS学习之路--OC的基础知识
1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用 -------------------- CocoaTouc ...
- iOS学习笔记之Block
写在前面 学习iOS开发的过程中,在很多场合都遇到了Block.说实话,虽然自己依葫芦画瓢的将Block"拿来"用着,但这种"拿来主义"与学习时应持有的探索精神 ...
- ios学习笔记之block在ios开发中的应用
一.什么是Blocks Block是一个C级别的语法以及运行时的一个特性,和标准C中的函数(函数指针)类似,但是其运行需要编译器和运行时支持,从ios4.0开始就很好的支持Block. 二. ...
- 我的iOS学习之路(四):动画设置
在ios的开发过程中,经常需要对视图控件进行变化,如大小,颜色,旋转等,这是如果直接将变化结果呈现出来,就显得不够友好,所以我们通常会使用动画,让用户能够看到变化的过程. 使用动画通常有两种方式,一种 ...
- 我的IOS学习之路(三):手势识别器
在iOS的学习中,对于手势的处理是极为重要的,如对于图片,我们经常需要进行旋转,缩放以及移动等.这里做一下总结,详见代码. - (void)viewDidLoad { [super viewDidLo ...
随机推荐
- android中的TextView控件
我以前是搞ssh开发的,现在在搞android开发,所以简单学习了一下,对于自己所了解的做一个记录,也算是一个笔记吧,如果有什么不对的,希望大家给予一定的指导. 一.TextView的基本使用 Te ...
- js 二维数组定义
1.二维数组声明方式是下面这样的: var images=new Array(); //先声明一维 for(var i=0;i<10;i++){ //一维长度为10 images[i]=new ...
- 大象数据库SQL存储过程(函数)
-- Function: antifraudjudge(character varying) -- DROP FUNCTION antifraudjudge(character varying); C ...
- AndroidStudio 应用(一)
1.下载安装,用上vpn了都: 2.配置模拟器,出现问题:VT-x is disabled in the BIOS for both all CPU modes (VERR_VMX_MSR_ALL_V ...
- ApiCloud重新定义移动应用开发
http://www.apicloud.com/ 为APP开发者提供云端的API服务和数据存储服务,动态生成RESTful API,支持在线NoSQL数据表设计.API调试及用量分析:同时提供推送.云 ...
- 黄聪:WordPress 多站点建站教程(七):多站点函数
1.get_blog_details(获取子站点信息) 返回多站点博客信息即wp_blogs表. //显示站点名称 $blog_details = get_blog_details(1); echo ...
- IREP_SOA Integration SOAP概述(概念)
20150827 Created By BaoXinjian
- U8Bom查询
select temp.*,Inventory.cInvCode,Inventory.cInvName,Inventory.cInvStd from ( select b.InvCode as 'PI ...
- mac下反编译android apk
所需要的工具 http://pan.baidu.com/disk/home#path=%252Fandroid%252Fdecompile%252Fapktool-all apktool用于将资源文件 ...
- bootstrap-响应式工具和打印样式
响应式工具: <div class="container"> <!-- 针对不同的宽度 展示或隐藏相关内容 visible-lg-block 显示 hidden- ...