我在这段代码中需要帮助,
我正试图在iPhone应用程序上按下按钮时播放声音,我收到此错误。 这是代码
-(IBAction)playSound:(id)sender{
// NSLog(@"play Sound");
SystemSoundID soundID;
NSString *buttonName = [sender currentTitle];
NSString *soundFile = [[NSBundle mainBundle]
pathForResource:buttonName ofType:@"wav"];
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:soundFile], &soundID);
AudioServicesPlaySystemSound(soundID);
[soundFile release];
错误消息说
发布不可用:在自动引用计数模式下不可用
ARC禁止显式消息“发布”
*将Objective-C指针类型'id'转换为C指针类型'CFURLRef'(又名'const struct __CFURL ')需要桥接演员
答案 0 :(得分:2)
此错误表示您必须使用 ARC ,因此您无需释放任何对象,因为它会自动计算其引用。
在您的情况下,评论或删除每个
[OBJ release];
具体而言,您需要删除[soundfile release];
答案 1 :(得分:0)
当您在项目中使用ARC(自动引用计数)时,您不需要释放任何对象,因为编译器会照顾它。
因此您不需要[soundFile release];
有关ARC
的更多信息,请查看此apple document