090.Block 定义块的三种方式
2015-10-26 15:33
281 查看
--------------- main.m ---------------
#import <Foundation/Foundation.h>
int main()
{
// 定义不带参数、无返回值的块
void (^printStr)(void)
= ^(void)
{
NSLog(@"我正在开始学习Objective-C的块");
};
printStr();
// 定义带参数、有返回值的块
double (^hypot)(double , double)
=
^(double num1, double num2)
{
return sqrt(num1 * num1 + num2 * num2);
};
NSLog(@"%g" , hypot(3, 4));
// 也可以先只定义块变量:定义带参数、无返回值的块
void (^print)(NSString*);
// 再将块赋给指定的块变量
print = ^(NSString* info)
{
NSLog(@"info参数为:%@" ,
info);
};
print(@"疯狂iOS讲义");
}
一、编写本节代码的具体步骤:
1.参照003节的代码编写步骤。
二、本节代码涉及到的知识点:
1.block是一种数据类型。
2.block的作用:用来保存一段代码。
3.block的标志:^ 。
4.block与函数的共同点:①保存一段代码 ②有返回值 ③有形参 ④调用方法一样
5.block的定义方式跟指向函数的指针很像,详情请参考第79节。
#import <Foundation/Foundation.h>
int main()
{
// 定义不带参数、无返回值的块
void (^printStr)(void)
= ^(void)
{
NSLog(@"我正在开始学习Objective-C的块");
};
printStr();
// 定义带参数、有返回值的块
double (^hypot)(double , double)
=
^(double num1, double num2)
{
return sqrt(num1 * num1 + num2 * num2);
};
NSLog(@"%g" , hypot(3, 4));
// 也可以先只定义块变量:定义带参数、无返回值的块
void (^print)(NSString*);
// 再将块赋给指定的块变量
print = ^(NSString* info)
{
NSLog(@"info参数为:%@" ,
info);
};
print(@"疯狂iOS讲义");
}
一、编写本节代码的具体步骤:
1.参照003节的代码编写步骤。
二、本节代码涉及到的知识点:
1.block是一种数据类型。
2.block的作用:用来保存一段代码。
3.block的标志:^ 。
4.block与函数的共同点:①保存一段代码 ②有返回值 ③有形参 ④调用方法一样
5.block的定义方式跟指向函数的指针很像,详情请参考第79节。
相关文章推荐
- 那些年使用的测试工具
- Oracle EBS 11i BOM模块常用表结构
- Java:按值传递还是按引用传递详细解说
- GO语言教程(二)编辑器IDE之JetBrains篇(PyCharm+go插件plugin)
- MySQL replication 主从配置
- 【LeetCode】【Python解决问题的方法】Best Time to Buy and Sell Stock II
- 透明度的写法
- 091.Block And Var 块与局部变量
- LISTAGG函数
- Python语言下的机器学习库
- HTML倒计时JS
- 092.Block And Var 块中修改局部变量
- CMake使用技巧集
- 两台windows服务器----SVN的迁移
- 内核3.x版本之后设备树机制
- C++内存管理
- WebViewJavascriptBridge使用说明(iOS)
- 【Java】Java 性能调优指南 – 高性能Java
- Nagios 配置测试
- 大数据: 完全分布式Hadoop集群-HBase安装