Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标C:跨班级使用多个参数_Objective C_Ios_Cocos2d Iphone_Audio - Fatal编程技术网

Objective c 目标C:跨班级使用多个参数

Objective c 目标C:跨班级使用多个参数,objective-c,ios,cocos2d-iphone,audio,Objective C,Ios,Cocos2d Iphone,Audio,我在名为GameManager的类中有以下声明: -(void)playBackgroundTrack:(NSString*)trackFileName isAmbient:(BOOL*)ambient { } 我想打个电话 [[GameManager sharedGameManager] playBackgroundTrack:BACKGROUND_TRACK isAmbient:NO]; 或 但我得到一个警告: 语义问题:实例方法“-playBackgroundTrack:isAmbi

我在名为GameManager的类中有以下声明:

-(void)playBackgroundTrack:(NSString*)trackFileName isAmbient:(BOOL*)ambient {

}
我想打个电话

[[GameManager sharedGameManager] playBackgroundTrack:BACKGROUND_TRACK isAmbient:NO];

但我得到一个警告:

语义问题:实例方法“-playBackgroundTrack:isAmbient:”未找到(返回类型默认为“id”)

尝试使用isAmbient参数会崩溃


如果我在这两个位置都禁用isAmbient声明,它可以正常工作(但当然我不能使用我想要的参数!)。

您应该在声明中使用纯
BOOL
,而不是
BOOL*
,如下所示:

-(void)playBackgroundTrack:(NSString*)trackFileName isAmbient:(BOOL)ambient;

将isAmbient的参数类型从
BOOL*
更改为
BOOL

第一段代码不是声明,而是定义。声明是签名,以分号结尾,通常放在头文件中

然后,您需要在声明中包含该类头文件,以便您的另一个类知道该方法存在。这将解决“找不到方法”问题


顺便说一下,您可能想使用一个普通BOOL,而不是指向它的指针。这可能是撞车的原因。

谢谢,我没想清楚!需要更多的代表才能投票you@Eric没关系,没有必要对这个答案投赞成票。不过,接受其中一个答案是一个好主意:这将使您的“%”接受答案的百分比”保持在较高水平,这对您将来提出更多问题很有帮助。祝你好运谢谢,我没想清楚!需要更多的代表投票支持你
-(void)playBackgroundTrack:(NSString*)trackFileName isAmbient:(BOOL)ambient;