为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

繁花如伊 2021-10-26 19:19:10
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);怎么理解
查看完整描述

2 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

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

查看完整回答
反对 回复 2021-10-31
?
POPMUISE

TA贡献1765条经验 获得超5个赞

从表面上来看,应该是声明一个返回类型为void的,名字叫cal的函数,这个函数需要输入一个int类型的参数,形参名是sel

查看完整回答
反对 回复 2021-10-31
  • 2 回答
  • 0 关注
  • 374 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信