//
// block.h
// Block
//
// Created by tqh on 15/4/12.
// Copyright (c) 2015年 tqh. All rights reserved.
// #import <Foundation/Foundation.h> typedef void(^block1) (id obj); typedef void(^block2)(); typedef NSInteger(^block3)(); @interface block : NSObject //带参数
+ (void)initBlock1:(void(^)(id obj))block sum:(NSInteger)sum; //typdef
+ (void)initBlock11:(block1)block sum:(NSInteger)sum; //不带参
+ (void)initBlick2:(void(^)())block sum:(NSInteger)sum; //typedef
+ (void)initBlock22:(block2)block sum:(NSInteger)sum; + (void)blockTest:(block2)block; + (void)initBlock3:(block3)block sum:(NSInteger)sum; @end
//
// block.m
// Block
//
// Created by tqh on 15/4/12.
// Copyright (c) 2015年 tqh. All rights reserved.
// #import "block.h" @implementation block + (void)initBlock1:(void (^)(id))block sum:(NSInteger)sum{
NSString *str = @"返回字符串";
if (sum > ) {
block(str);
}
} + (void)initBlock11:(block1)block sum:(NSInteger)sum{
NSString *str = @"返回字符串";
if (sum > ) {
block(str);
}
} + (void)initBlick2:(void (^)())block sum:(NSInteger)sum{ if (sum > ) {
block();
} } + (void)initBlock22:(block2)block sum:(NSInteger)sum{ if (sum > ) {
block();
} } +(void)blockTest:(block2)block
{
block();
} +(void)initBlock3:(block3)block sum:(NSInteger)sum{ NSInteger index = block();
NSLog(@"%ld",index); } @end
//
// main.m
// Block
//
// Created by tqh on 15/4/12.
// Copyright (c) 2015年 tqh. All rights reserved.
// /**
* block回调
*
* @param argc
* @param argv
*
* @return
*/ #import <Foundation/Foundation.h>
#import "block.h"
int main(int argc, const char * argv[]) {
@autoreleasepool { [block initBlock1:^(id obj) {
NSLog(@"%@",obj);
} sum:]; [block initBlock11:^(id obj) {
NSLog(@"%@",obj);
} sum:]; [block initBlick2:^{
NSLog(@"block2");
} sum:]; [block initBlick2:^{
NSLog(@"block22");
} sum:]; [block blockTest:^{
NSLog(@"");
}]; [block initBlock3:^NSInteger{
return ;
} sum:];
}
return ;
}
 

iOS block示例的更多相关文章

  1. iOS block从零开始

    iOS block从零开始 在iOS4.0之后,block横空出世,它本身封装了一段代码并将这段代码当做变量,通过block()的方式进行回调. block的结构 先来一段简单的代码看看: void ...

  2. # iOS Block的本质(三)

    iOS Block的本质(三) 上一篇文章iOS Block的本质(二)中已经介绍过block变量的捕获,本文继续探寻block的本质. 1. block对对象变量的捕获,ARC 环境 block一般 ...

  3. iOS Block界面反向传值

    在上篇博客 <iOS Block简介> 中,侧重解析了 iOS Block的概念等,本文将侧重于它们在开发中的应用. Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C ...

  4. iOS block 机制

    本文要将block的以下机制,并配合具体代码详细描述: block 与 外部变量 block 的存储域:栈块.堆块.全局块 定义 块与函数类似,只不过是直接定义在另一个函数里,和定义它的那个函数共享同 ...

  5. ios Block详细用法

    ios Block详细用法 ios4.0系统已开始支持block,在编程过程中,blocks被Obj-C看成是对象,它封装了一段代码,这段代码可以在任何时候执行.Blocks可以作为函数参数或者函数的 ...

  6. iOS Block的本质(四)

    iOS Block的本质(四) 上一篇文章iOS Block的本质(三)中已经介绍过block变量的捕获,本文继续探寻block的本质. 1. block内修改变量的值 int main(int ar ...

  7. iOS Block的本质(二)

    iOS Block的本质(二) 1. 介绍引入block本质 通过上一篇文章Block的本质(一)已经基本对block的底层结构有了基本的认识,block的底层就是__main_block_impl_ ...

  8. iOS Block的本质(一)

    iOS Block的本质(一) 1.对block有一个基本的认识 block本质上也是一个oc对象,他内部也有一个isa指针.block是封装了函数调用以及函数调用环境的OC对象. 2.探寻block ...

  9. (译)IOS block编程指南 1 介绍

    Introduction(介绍) Block objects are a C-level syntactic and runtime feature. They are similar to stan ...

随机推荐

  1. vim代码补全-spf13,YouCompleteMe

    vim代码补全 现在的图形界面的IDE(Integrated Development Environment)一般具有语法高亮,语法检查,自动补全功能,大大提高了编程的效率. vim作为文本编辑器其强 ...

  2. .NET开源工作流RoadFlow-表单设计-新建表单(属性设置)

    点击表单设计工具栏上的 新建表单 按钮会弹出新表单属性设置框: 表单名称:新表单表名称. 数据连接:表单对应的数据库连接(此连接在 系统管理-->数据库连接 中维护). 数据表:表单对应的数据库 ...

  3. 基于Elasticsearch进行地理检索,计算距离值

      实现步骤: 1.定义属性     [Serializable]     public class Coordinate     {         public double Lat { get; ...

  4. database first表更新一个表会更新所有的model,包括添加验证代码,解决办法

    因为model类是自动生成的,重新生成后会覆盖自己的修改.一个比较合理做法,就是用 partial class的方式来实现. 比如有一个Model类: Movie.那我们就可以添加一个局部类文件,局部 ...

  5. [原]Java修炼 之 基础篇(二)Java语言构成

    上次的博文中Java修炼 之 基础篇(一)Java语言特性我们介绍了一下Java语言的几个特性,今天我们介绍一下Java语言的构成.        所谓的Java构成,主要是指Java运行环境的组成, ...

  6. 数组和字典 swift

    var array = ["A","B"] var array2:[String] = ["A","B"] var ar ...

  7. C++中复制构造函数与重载赋值操作符总结

    前言 这篇文章将对C++中复制构造函数和重载赋值操作符进行总结,包括以下内容: 1.复制构造函数和重载赋值操作符的定义: 2.复制构造函数和重载赋值操作符的调用时机: 3.复制构造函数和重载赋值操作符 ...

  8. java web.xml配置详解(转)

    源出处:java web.xml配置详解 1.常规配置:每一个站的WEB-INF下都有一个web.xml的设定文件,它提供了我们站台的配置设定. web.xml定义: .站台的名称和说明 .针对环境参 ...

  9. 水王ID查找

    一. 题目 1 三人行设计了一个灌水论坛.信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子.坊间风闻该“水王”发帖数目超过了帖子数目的一半. ...

  10. css3 forwards、backwards、both

    animation-fill-mode 属性规定动画在播放之前或之后,其动画效果是否可见. none 不改变默认行为. forwards 当动画完成后,保持最后一个属性值(在最后一个关键帧中定义). ...