iphone - ios bool 变量声明

标签 iphone objective-c ios xcode cocoa-touch

我用 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,其中包含 01。正如您将 int 用于整数而不是 int* (或者在更惯用的代码中,NSInteger),您使用 BOOL 而不是 BOOL*

关于iphone - ios bool 变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9134697/

相关文章:

iphone - iOS NSSet/NSArray/NSDictionary 可以有多大?

iphone - 锁定手机后 AsyncUDPSocket 管道破裂,应用程序在后台暂停

iphone - 为什么我没有用这个简单的代码读取任何磁场值?

iphone - UIButton 触摸内部事件,边界发生变化?

ios - 核心数据:后台NSManagedObjectContext上的更新在保存时不起作用

iphone - 没有推送通知的系统范围警报

iphone - 需要/想要将 NSError** 作为参数传递给 performSelector

ios - 子类可以创建与父类不同的协议(protocol)吗?

ios - 使用属性进行类初始化

ios - 应用程序 'attaching to' 在 iOS 模拟器中挂起