我用 bool 输入变量声明了一个函数。我没有错误。但是,当从另一个 Controller 调用它时,会出现通知:“不兼容的整数到指针的转换将‘BOOL’发送到 BOOL 类型的参数”。我究竟做错了什么?谢谢。
- (void)composeBar: (BOOL *)savePars
从另一个角度看:
AppDelegate *localFunction = [[UIApplication sharedApplication] delegate];
[localFunction composeBar:YES];
最佳答案
BOOL*
不是 bool 值。它是一个指向 bool 值的指针。只需使用
- (void)composeBar:(BOOL)savePars
您可能会感到困惑,因为所有 Obj-C 对象都是用 *
声明的,但那是因为它们实际上是指针。但是,BOOL
不是一个对象,它实际上只是一个 char
,其中包含 0
或 1
。正如您将 int
用于整数而不是 int*
(或者在更惯用的代码中,NSInteger
),您使用 BOOL
而不是 BOOL*
。
关于iphone - ios bool 变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9134697/