//
// main.m
// OC语言学习
#import <Foundation/Foundation.h>
int sum(int value1, int value2)
{
return value1 + value2;
}
int minus(int value1, int value2)
{
return value1 - value2;
}
typedef int (*calcute)(int,int);
//注意:利用typedef给block起别名,和指向函数的指针一样,block的变量的名称就是别名
typedef int (^calcuteBlock)(int,int);
int main(int argc, const char * argv[]) {
//1.指向函数的指针
int (*sumP)(int,int) = sum;
NSLog(@"sum = %i",sumP(10,20)); //sum = 30
//2.使用typedef的方式
calcute minusP = minus;
NSLog(@"minus = %i",minusP(20,10)); //minus = 10
//3.使用block
int (^sumBlock)(int,int) = ^(int value1,int value2){
return value1 + value2;
};
NSLog(@"sum = %i",sumBlock(99,11)); //sum = 110
calcuteBlock minusBlock = ^(int value1,int value2){
return value1 - value2;
};
NSLog(@"minus = %i",minusBlock(100,10)); //minus = 90
return 0;
}
Block和typedef
最新推荐文章于 2022-02-09 16:49:07 发布
本文介绍了Objective-C中函数指针的应用及Block的使用方法,包括如何定义和调用函数,如何通过函数指针和Block实现灵活的代码组织。同时对比了函数指针和Block在实际应用中的异同。
1256

被折叠的 条评论
为什么被折叠?



