【发布时间】:2012-06-16 05:45:31
【问题描述】:
代码:
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
BOOL initial = YES;
[invocation setArgument:&initial atIndex:2];
问题:
是否可以在不创建临时变量的情况下将YES 传递给setArgument:atIndex:?
我在想也许有一个我不知道的语言结构和/或运行时中的常量,我可以指向它总是YES。
谢谢!
【问题讨论】:
-
为什么函数需要一个指向布尔值的指针?当 bool 的值占用更少的空间时,通过地址将 bool 传递给方法似乎有点奇怪。
-
当我尝试传递
YES时,它会因“+[NSInvocation invocationWithMethodSignature:]:方法签名参数不能为 nil'”而崩溃。另外,还有一个警告:“不兼容的整数到指针转换将'signed char'发送到'void *'类型的参数”。
标签: objective-c pointers