iOS开发——语法OC篇&Block回顾
Block回顾
这里知识简单介绍一下关于Block的语法,如果你觉得这里很简单或者想学习更深入的的使用清查看记者之前写的使用block传值和高级Block使用:
http://www.cnblogs.com/iCocos/p/4534281.html
http://www.cnblogs.com/iCocos/p/4550169.html
http://www.cnblogs.com/iCocos/p/4659878.html
http://www.cnblogs.com/iCocos/p/4655846.html
- block : block 函数,代码块
- block 是一个 "特殊" 对象
函数:
- 1.无返回值无参数
- 2.无返回值有参数
- 3.有返回什又有参数
Block:
- 1.无返回值无参数
- 2.无返回值有参数
- 3.有返回什又有参数
无返回值无参数
C语言函数:
//无返回值无参数函数 void say1(){ NSLog(@"say1....."); }
// 调用函数 say1();
OC代码块:
//1.无返回值无参数 block void test1(){ //1.无返回值无参数 block void (^say1Block)() = ^{ NSLog(@"say1block..."); }; // 调用block say1Block(); }
无返回值有参数
C语言函数:
//无返回值有参数函数 void say2(int age){ NSLog(@"I'am %d year old!",age); }
//调用 say2();
OC代码块:
// 2.无返回值有参数 block void test2(){ void (^say2Block)(int) = ^(int age){ NSLog(@"I'am %d year old!",age); }; say2Block(); }
有返回值有参数
C语言函数:
//有返回值有参数函数 int sum(int a,int b){ return a + b; }
OC代码块:
//3.有返回什又有参数 block void test3(){ int (^sumBlock)(int,int) = ^(int a,int b){ return a + b; }; , ); ,); NSLog(@"result1:%d result2:%d",result1,result2); // 对block进行typedef // 对"无返回值" 无参数block 进行重定义 typedef void (^Say2Block)(); Say2Block block = ^{ NSLog(@"Say2Block ========"); }; block(); }
iOS开发——语法OC篇&Block回顾的更多相关文章
- iOS开发——语法OC篇&BOOL / bool / Boolean / NSCFBoolean
Name Typedef Header True Value False Value BOOL signed char objc.h YES NO bool _Bool (int) stdbool.h ...
- iOS开发——实战OC篇&环境搭建之Xib(玩转UINavigationController与UITabBarController)
iOS开发——实战OC篇&环境搭建之Xib(玩转UINavigationController与UITabBarController) 前面我们介绍了StoryBoard这个新技术,和纯技术 ...
- iOS开发——实战OC篇&环境搭建之纯代码(玩转UINavigationController与UITabBarController)
iOS开发——实战OC篇&环境搭建之纯代码(玩转UINavigationController与UITabBarController) 这里我们就直接上实例: 一:新建一个项目singleV ...
- iOS开发 - OC - block的详解 - 深入篇
深入理解oc中的block 苹果在Mac OS X10.6 和iOS 4之后引入了block语法.这一举动对于许多OC使用者的编码风格改变很大.就我本人而言,感觉block用起来还是很爽的,但一直以来 ...
- iOS开发 - OC - block的详解 - 基础篇
深入理解oc中的block 苹果在Mac OS X10.6 和iOS 4之后引入了block语法.这一举动对于许多OC使用者的编码风格改变很大.就我本人而言,感觉block用起来还是很爽的,但一直以来 ...
- iOS开发——实用技术OC篇&单例模式的实实现(ACR&MRC)
单例模式的实实现(ACR&MRC) 在iOS开发中单例模式是一种非常常见的模式,虽然我们自己实现的比较少,但是,系统却提供了不少的到来模式给我们用,比如最常见的UIApplication,No ...
- iOS开发——实战OC篇&环境搭建之StoryBoard(玩转UINavigationController与UITabBarController)
环境搭建之StoryBoard(玩转UINavigationController与UITabBarController) 研究了这么就IOS开发,都没有所处一个像样或者自己忙一点的项目.最近自 ...
- iOS开发——控制器OC篇&UINavigationController&UITabBarController详解
UINavigationController&UITabBarController详解 一:UINavigationController 控制器的属性: UINavigationControl ...
- iOS开发——多线程OC篇&多线程详解
多线程详解 前面介绍了多线程的各种方式及其使用,这里补一点关于多线程的概念及相关技巧与使用,相信前面不懂的地方看了这里之后你就对多线程基本上没有什么问题了! 1——首先ios开发多线程中必须了解的概念 ...
随机推荐
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
一,简介Signal 是微软支持的一个运行在 Dot NET 平台上的 html websocket 框架.它出现的主要目的是实现服务器主动推送(Push)消息到客户端页面,这样客户端就不必重新发送请 ...
- NSRangeFromString 测试
官网文档 Returns a range from a textual representation. Declaration SWIFT func NSRangeFromString(_ aStri ...
- openstack neutron 各节点网络配置
- 前端复习-01-dom操作包括ie和现代浏览器处理相关
一.事件流事件流描述的是从页面中接受事件的顺序.IE的事件流是事件冒泡流,而Netscape的事件流是事件捕获流1.事件冒泡事件冒泡,即事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然 ...
- SpringMVC处理Date类型的成员变量方法
原文链接:http://www.tuicool.com/articles/aYfaqa 在使用 SpringMVC 的时候,我们可能需要将一个对象从 View 传递给 Controller .而当这个 ...
- [翻译]Behavior-Driven Development (BDD)行为驱动开发(二)
测试驱动开发体现了开发人员对软件产品各部分运作方式的理解,而行为驱动开发则关注于开发人员对软件产品最终表现的行为的预期. 行为驱动开发 TDD更像是一种范式而不是一个过程.它描述了一种先编写测试,然后 ...
- MYSQL数据库性能调优之八:mysql日志
MySQL日志 主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志.中继日志: 使用 SHOW GLOBAL VARIABLES LIKE '%log%'; 查询所有日志配置详情: 一. ...
- HDU4513吉哥系列故事――完美队形II(manacher算法)
这个比最长回文子串就多了一个条件,就是回文字串(这里相当于人的高度)由两端向中间递增. 才刚刚看了看manacher,在用模板A了一道题后,还没有完全理解manacher,然后就准备把这道题也直接带模 ...
- POJ3253Fence Repair(优先队列或单调队列)
http://poj.org/problem?id=3253 经典题目了,大意是说如果要切断一个长度为a的木条需要花费代价a, 问要切出要求的n个木条所需的最小代价. 无论是以下哪种方法,最原始的思路 ...
- HDU 4499 Cannon (暴力求解)
题意:给定一个n*m个棋盘,放上一些棋子,问你最多能放几个炮(中国象棋中的炮). 析:其实很简单,因为棋盘才是5*5最大,那么直接暴力就行,可以看成一行,很水,时间很短,才62ms. 代码如下: #i ...