block的动态传值例子
/*
写一个block传值 ,让两个数进行相除和相乘,在运行时动态决定采用哪种计算方式
*/
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
typedef int(^MathBlock)(int,int);
MathBlock sumblock = ^(int a,int b){
return a+b;
};
MathBlock delblock = ^(int a,int b){
return a-b;
};
typedef void (^Myblock)(MathBlock,int,int);
//int(^MathBlock)(int,int) 是MathBlock的形式参数 *****int*********
Myblock block= ^(int(^MathBlock)(int,int),int a,int b)
{
NSLog(@"%d",MathBlock(a,b));
};
block(sumblock,1,2);
block(delblock,2,1);
}
// void (^block)(char,int,int)=^(char a ,int b,int c){
// if(a=='+')
// {
// NSLog(@"%d",b+c);
// }
// if(a=='-')
// {
// NSLog(@"%d",b-c);
// }
// };
// //+
// block('+',2,4);
// //-
// block('-',4,2);
// void (^block)(int(^MathBlock)(int,int),int,int) = ^(int(^MathBlock)(int,int),int a,int b)
// {
// NSLog(@"%d",MathBlock(a,b));
// };
// block(sumblock,1,2);
// block(delblock,2,1);
return 0;
}
block的动态传值例子的更多相关文章
- iOS Block界面反向传值
在上篇博客 <iOS Block简介> 中,侧重解析了 iOS Block的概念等,本文将侧重于它们在开发中的应用. Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C ...
- jdk动态代理与cglib动态代理例子
1.JAVA的动态代理特征:特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代理类与委托类之间通常会存在关联关系,一个代理类的对象 ...
- vue父组件向子组件动态传值的两种方法
在一些项目需求中需要父组件向子组件动态传值,比如我这里的需求是,父组件动态通过axios获取返回的图片url数组然后传给子组件,上传图片的子组件拿到该数组后进行遍历并展示图片,因为有时候获取到的会是空 ...
- 记录--关于Jquery uploadify 不能动态传值的问题(java)
动态传值纠结多时后无效, 后得下面一番代码,依旧无效~~ 纳了几个闷,心灰意冷下 清理了 tomcat 一次 再出运行 可以了 真心纠结很久很久 无奈之下还是得 清理清理tomcat: ...
- Vue 动态传值,Get传值
Vue 路由get传值1.动态传值 1.1需要在路由配置时指定参数: {component:'/home/:id'} 1.2在routerlink中指定格式:<router-link :to=& ...
- iOS 使用Block进行逆传值
跟通知一样也是两个控制器,然后代码创建控件直接上代码 #import "ViewController.h" #import "TwoViewController.h&qu ...
- block做方法参数时--block的参数传值过程 例1
说明:此例子中方法的调用在此文中是从下到上调用的.(即: 方法五调用方法四: 方法四调用方法三) 方法一:- (void)setCompletionBlockWithSuccess: ...
- JDK动态代理例子
JDK动态代理的代理类必须实现于接口.如果要代理类,则使用CGLIB代理. 先定义一个接口: public interface Character { public void show(); } 接着 ...
- Java 静态代理和动态代理例子
代理Proxy: Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问.代理类负责为委 ...
随机推荐
- [置顶] stax解析xml文档的6种方式
原文链接:http://blog.csdn.net/u011593278/article/details/9745271 stax解析xml文档的方式: 基于光标的查询: 基于迭代模型的查找: 基于过 ...
- 【M26】限制某个class所能产生的对象数量
1.每当产生一个对象,必定调用构造方法.因此,禁止产生对象的做法就是,将所有的构造方法声明为private. 2.只有在类的内部才可以访问private成员,有两层含义:在类的内部可以访问this的p ...
- Java网页数据采集器[续篇-远程操作]【转载】
本期概述 上期我们学习了html页面采集后的数据查询, 但这仅仅是在本地查询数据库,如果我们想通过远程操作来进行数据的采集,存储和查询,那又该怎么做呢? 今天我们一起来学习下:如何通过本地客户端远程访 ...
- hdu1428漫步校园( 最短路+BFS(优先队列)+记忆化搜索(DFS))
Problem Description LL最近沉迷于AC不能自拔,每天寝室.机房两点一线.由于长时间坐在电脑边,缺乏运动.他决定充分利用每次从寝室到机房的时间,在校园里散散步.整个HDU校园呈方形布 ...
- delphi 11 编辑模式 浏览模式
编辑模式 浏览模式 设置焦点 //在使用前需要Webbrowser已经浏览过一个网页 否则错误 uses MSHTML; ///获取Webbrowser编辑模式里面的内容procedure EditM ...
- 1081. Rational Sum (20)
the problem is from PAT,which website is http://pat.zju.edu.cn/contests/pat-a-practise/1081 the code ...
- The 7 Stages Of Scaling Web Apps--reference
reference from:http://highscalability.com/7-stages-scaling-web-apps TUESDAY, SEPTEMBER 23, 2008 AT 4 ...
- Balanced Lineup(最简单的线段树题目)
Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 33389 Accepted: 15665 Case Time Limit ...
- Storm中的LocalState 代码解析
官方的解释这个类为: /** * A simple, durable, atomic K/V database. *Very inefficient*, should only be * used f ...
- mybatisGenerator 代码自动生成报错 Result Maps collection already contains value for BaseResultMap【转】
由于mybatis简单易学,比起Hibername来,更容易上手,代码也能自动生成.这几天研究了下代码自动生成的,参考: http://0609xiaohua.iteye.com/blog/14535 ...