//该段代码的意思是生成指一个函数参数为字符串返回值是函数指针,然后函数指针指向的函数返回值为void类型,
//具体可以看成 void * (NSString *name) cMethod; void *这个整体看成返回类型(NSString *name)看成参数类型,cMethod看成是这个函数指针的指针变量。(可以这样理解,但是编译器识别不了,必须写成如下的格式)
static void * cMethod (NSString *name) {
return testPointer;
}
//这个代表了 函数参数为空返回值为(void *)的函数指针的这一类型函数
//可以理解为 (int , int ) -> int 和swift闭包一样的意思。只要参数为int类型并且返回值为int类型那么它就符合这种类型
typedef void (*Learn)(void);
static void block(bool a, Learn returnType) {
if (a == YES) {
returnType();
}else {
NSLog(@"错误");
}
}
static void testPointer () {
NSLog(@"这是调用了方法");
}
网友评论