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 ...
随机推荐
- Java与.NET兼容的RSA密钥持久化方法
默认情况下,.NET生成的RSA密钥对可以用XML或字节流来保存,而JAVA中生成的RSA密钥对只能用字节流来保存.而它们的字节流格式不同,就导致Java中生成的RSA密钥对不能在.NET中使用,而. ...
- bzoj2289: 【POJ Challenge】圆,圆,圆
Description 1tthinking随便地画了一些圆. ftiasch认为这些圆有交集(面积非零)的可能性不大.因为他实在画了太多圆,所以你被请来判断是否存在交集. Input 第1行,一个整 ...
- TX Textcontrol 使用总结一
以下内容纯属个人使用感想,如有问题,还望讲解!!! 简介与使用感想: TX Text Control是一套功能丰富的文字处理控件,它以可重复使用控件的形式为开发人员提供了Word中常用的文字处理功能, ...
- 124. Binary Tree Maximum Path Sum
Given a binary tree, find the maximum path sum. For this problem, a path is defined as any sequence ...
- Php检测文件编码方法
<?php /** * 检测文件编码 * @param string $file 文件路径 * @return string|null 返回 编码名 或 null */ function det ...
- 黄聪:wordpress中PHP运行错最有效解决办法Fatal error: Out of memory (allocated 6029312)(转)
近日在升级wordpress 3.2.1和若干插件的过程中,发现了一个wordpress的错误:Allowed memory size of XXX bytes exhausted Fatal err ...
- AP_AP系列 - 发票管理分析(案例)
2014-07-07 Created By BaoXinjian
- win764上vs2010+opencv2.4.11安装配置
1:准备工作 1)opencv的官网下载你所要版本的opencv库文件,运行安装解压到自定义的一个文件夹里(D:\Program Files). 2)安装vs2010. 二:配置 1.计算机环境变量: ...
- Mongodb(2)创建数据库,删除数据库,创建集合,删除集合,显示文档内容
显示所有数据库列表:show dbs > show dbs local .078GB runoob .078GB > 显示当前数据库:db > db runoob > 显示所有 ...
- poj 3040 Allowance
Allowance Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1842 Accepted: 763 Descript ...