请教一下void (*setter)(id, SEL, BOOL)该如何理解呢?

void (*setter)(id, SEL, BOOL);
int i;

setter = (void(*)(id, SEL, BOOL))[target methodForSelector:@selector(setFilled:)];

for (i = 0; i < 1000; i++)
setter(targetList[i], @selector(setFilled:), YES);
怎么理解

繁花如伊
浏览 336回答 2
2回答

ibeautiful

这是定义系列函数:首先,顶上是声明部分,函数反回值为void接着是函数名称,在这里不是个定值,而是个指针比如void maxNums();这个函数,把maxNums存为一个串,就是这个意思这样的好处是可以批量的声明多个函数,例如下面for循环中内容最后的括号内(id, SEL, BOOL)这里是函数的参数部分

POPMUISE

从表面上来看,应该是声明一个返回类型为void的,名字叫cal的函数,这个函数需要输入一个int类型的参数,形参名是sel
打开App,查看更多内容
随时随地看视频慕课网APP