OC语言学习22-Block基本语法
来源:互联网 发布:ibatis sql注入 编辑:程序博客网 时间:2024/05/21 09:14
创建工程,在main.h中编写代码:
#import <Foundation/Foundation.h>
//自定义C语言函数
void test()
{
printf("%s\n",__func__);
}
int main(int argc,const char * argv[]) {
@autoreleasepool {
//函数指针 *testPtr指针名称,第二个()是参数表
//test表示将函数赋值给函数指针变量
void (*testPtr)() =test;
//调用函数
test();
//用函数指针调用
testPtr();
//定义block
void(^testBlock)() = ^() {
test();
//这里还可以添加代码逻辑
NSLog(@"info");
};
testBlock();
//使用__block定义才能在块中更改变量
int__block number = 10;
//实现两个数求和 两个int型的型参
int (^sumBlock)(int,int) = ^(int a,int b) {
number = 15;//声明时没有用__block会报错
return a + b;
};
//此时的number的值还是为10,因为还没有调用block
NSLog(@"number = %d", number);
int sum = sumBlock(12,20);
NSLog(@"sum = %d", sum);
//调用之后才能执行压栈操作,这时的number的值为15了。
NSLog(@"number = %d", number);
}
return0;
}
打印结果:test
test
test
2017-07-25 16:45:43.293516+0800 OC25-block基础语法[2296:113335] info
2017-07-25 16:45:43.293650+0800 OC25-block基础语法[2296:113335] number = 10
2017-07-25 16:45:43.293661+0800 OC25-block基础语法[2296:113335] sum = 32
2017-07-25 16:45:43.293669+0800 OC25-block基础语法[2296:113335] number = 15
Program ended with exit code: 0
- OC语言学习22-Block基本语法
- OC语言学习-基本语法
- OC语言基本语法
- OC语言基本语法
- [黑马程序员]12[OC语言]OC基本语法部分学习笔记总结
- OC语法之Block
- OC中的block语法
- OC语法--block
- 爬爬爬之路:OC语言(六) Block语法简介
- iOS 开发OC语言(六) Block语法简介
- oc学习笔记(一)基本语法
- OC语言中的block
- OC语言之block
- OC语言--BLOCK
- OC语言之block
- C语言学习-基本语法
- C语言学习:基本语法
- OC总结-block语法
- BI服务器配置与客户端情况
- js 获取浏览器版本信息
- 使用spring session redis做session共享
- C语言实现一个长字符串中去除多次出现短字符串的功能
- 面向对象继承
- OC语言学习22-Block基本语法
- leetcode 337. House Robber III
- 【spring ----- 注解篇】 常用注解
- 百度云bae发布代码失败怎么处理
- Dictionary<string, List<string>> 的使用
- select、 poll 、epoll 区别与联系
- 关于winodows下编程c++遇到的引用文件路径问题
- springMVC中 @RequestParam和@RequestBody的区别
- 优雅的JavaScript-基础语法详解