我有一个声音文件,我想在加载应用程序时播放,但我只能在你按下按钮时才能这样做。我是否需要.h文件或仅使用.m文件
#import "ViewController.h"
//sound
@implementation ViewController
-(void) viewDidLoad {
-(IBAction)play { Here i get error Expected expression.
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"app3", CFSTR
("m4a"), NULL);
UInt32 (soundID);
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
}
[super viewDidLoad];
}
-(IBAction)Facebook {
[[UIApplication sharedApplication]
openURL: [NSURL URLWithString:@"http://www.facebook.com/synicapps?fref=ts]"]];
}
@end
答案 0 :(得分:0)
您将buuton从布局链接到IBAction
或声明UIButton
并向其添加目标
@implementation ViewController
-(void) viewDidLoad {
[super viewDidLoad];
}
-(IBAction)play {
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"app3", CFSTR
("m4a"), NULL);
UInt32 (soundID);
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
}
-(IBAction)Facebook {
[[UIApplication sharedApplication]
openURL: [NSURL URLWithString:@"http://www.facebook.com/synicapps?fref=ts]"]];
}
@end
我知道这仍然没有任何意义:S但是你想用这个做什么:S
答案 1 :(得分:0)
你得到“预期表达式”错误的原因是因为你试图在另一个方法(viewDidLoad)中声明和定义一个方法(play)。它将声明视为强制转换,其中方法名称是要转换的变量。因此,它期望在括号中放置有效类型。但是,IBAction是一个宏观的东西。删除IBAction,错误仍然存在。将其替换为类型(例如void),现在它会出现“未声明的变量”错误,这证明这是因为它认为它是变量。
TL; DR:你不能在另一个方法中定义一个方法。你可能想考虑阅读关于Objective-C的好书。
编辑:对于那些感兴趣的人来说,这就是问题提供者的意思。
减去一元运算符(类型)变量
这是一个组合施法和一元否定,以在施法后获得变量的负值。实施例
int foo = 10;
float bar = -(float)play;
它看起来像一个方法声明,不是吗?
答案 2 :(得分:0)
那里有许多简单的错误。我建议先阅读Objective-C的基础知识。
无论如何,这是固定的代码:
#import "ViewController.h"
//sound
@implementation ViewController
-(void) viewDidLoad {
[super viewDidLoad];
[self play];
}
-(IBAction)play {
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"app3", CFSTR ("m4a"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
}
-(IBAction)Facebook {
[[UIApplication sharedApplication]
openURL: [NSURL URLWithString:@"http://www.facebook.com/synicapps?fref=ts]"]];
}
@end