main.m

//

//  main.m

//  8A10.Block的复习

//

//  Created by huan on 16/2/8.

//  Copyright © 2016年 huanxi. All rights reserved.

//

#import <Foundation/Foundation.h>

//函数定义

void test(){

}

int sum(int a, int b){

return a + b;

}

int main(int argc, const char * argv[]) {

@autoreleasepool {

// insert code here...

//复习block

//什么是block 就一个代码块

//block和函数与什么区别

//1.函数只能在方法外面定义

//2.block可以定义在方法内,也可以定义在方法外面

//3.block和函数共同点:都有返回值和参数

//block定义

//无返回值 无参数的block

void(^testBlock)() = ^{

NSLog(@"无返回值 无参数的block");

};

testBlock();

//无返回值 有参数的block

void(^test2Block)(int) = ^(int a){

NSLog(@"你传入的是%d", a);

};

test2Block(2);

//有返回值,有参数的block

int(^sumBlock)(int,int) = ^(int a,int b){

return a + b;

};

int result = sumBlock(2,3);

NSLog(@"通过block的计算,结果是:%d", result);

//有返回值,无参数的blcok

//block可重定义 typedef

typedef void (^MTestBlock)();

// 给无返回值,无参数的blcok进行- 自定义

MTestBlock mtestBlcok = ^(){

NSLog(@"重定义的block");

};

mtestBlcok();

//定义一个特殊操作的blcok

typedef void (^OperationBlock)();

OperationBlock operationBlock = ^(){

NSLog(@"正在检查的版本更新");

};

operationBlock();

NSLog(@"Hello, World!");

}

return 0;

}

结果

block的复习的更多相关文章

  1. OC语言(七)Block复习

    看下面一道Block的面试题: int i = 10; void(^myBlock)() = ^{ NSLog(@"%d",i); }; i = 100; myBlock(); 经 ...

  2. iOS总结_UI层自我复习总结

    UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是 ...

  3. 《CSS权威指南》基础复习+查漏补缺

    前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...

  4. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  5. C#复习③

    C#复习③ 2016年6月16日 11:13 Main Declaration & Statement 声明和语句 1.一个程序包含的声明空间有哪些? Namespace : declarat ...

  6. css重点章节复习—布局-边框-边距-浮动 (部分)

    css重点章节复习—布局-边框-边距-浮动 在第二个任务中,这一块的后面那条线真的弄了很久.起初也是在html里面写的代码.之后觉得这样不好,想到第一个页面中用到的border-bottom和bord ...

  7. Jquery 复习练习(01)

    Jquery 复习练习 window.onload = function() {} == $(function() {}); 千万注意:js对象和jq对象的区别,这也是常常犯的错误 js对象举例: w ...

  8. linux复习

    linux的特点           - 免费的/开源           - 支持多线程/多用户           - 安全性好           - 对内存和文件管理优越       关机命令 ...

  9. iOS深入学习(再谈block)

    之前写过一篇博客,把Block跟delegate类比,说明了使用block,可以通过更少的代码实现代理的功能.那篇博客将block定义为类的property. 过了这么长时间,对于block的内容有了 ...

随机推荐

  1. Python爬虫个人梳理(代码有空写)

    这里多是摘抄的,只是用于个人理解. 1.urlopen().read()是爬取网页的内容,出来可能是一堆的源代码.和我们右击网页查看是一样的. 2.当用到http请求的时候,我们可以使用Request ...

  2. arm_linux_dt

    http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/44862.aspx

  3. MySQL root密码找回

    以MySQL多实例为例,演示找回MySQL root的密码 1.关闭mysql服务 [root@mysql ~]# mysqladmin -uroot -poldboy123 -S /data/330 ...

  4. [转载] Android动态加载Dex机制解析

    本文转载自: http://blog.csdn.net/wy353208214/article/details/50859422 1.什么是类加载器? 类加载器(class loader)是 Java ...

  5. HTTP Error 503. The service is unavailable

    网站运行一段时间后,突然所有的页面都报告以下错误: HTTP Error 503. The service is unavailable 经检查,应用程序池自动停止,可能是工作进程抛出的异常数超出限制 ...

  6. sql中修改多表关联的字段

    表1:USERID USERNAME USERREMARK 表2:ROLEID USERID ROLENAME 其中表1的USERID与表2的USERID为关联字段. 若现在只知道ROLEID,要修改 ...

  7. 驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识

    驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB v ...

  8. 使用dd命令克隆整个系统(转)

    神奇的ghost的原理是什么呢?不就是数据复制吗?Linux下的dd命令不就是最强大的数据复制工具!          既然如此,我为什么要使用g4l这样复杂的工具呢?一条dd命令不就可以帮我实现任意 ...

  9. 字节b换算kb/mb/gb/tb/pb

    public static string HumanReadableFilesize(double size) { string[] units = new string[] { "B&qu ...

  10. flash中htmlText样式

    赋值htmlText时,htmlText中指定了样式的按指定样式显示,没有指定的按该文本的默认样式显示. PS:flash软件拖出来的文本,在赋值htmlText的时候该文本原有样式会失效,而new出 ...