私は avadioplayer を使用するのが初めてで、サウンドを再生するたびに記憶があるようです。Instrument内でそれを取り除くために何が欠けているのかわかりません。これは偽陽性でしょうか?
ViewController.h :
@interface ISpectatorViewController : UIViewController <UIAccelerometerDelegate>{
AVAudioPlayer *massCheerSoundID;
}
@property(nonatomic,retain) AVAudioPlayer * massCheerSoundID;
// ViewController.m
- (void)viewDidLoad {
NSString * filePath;
filePath = [[NSBundle mainBundle] pathForResource:@"massCheer" ofType:@"mp3"];
massCheerSoundID = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:filePath ]error:nil];
}
- (void) playSound
{
if(massCheerSoundID.playing == false)
{
massCheerSoundID.currentTime = 0.0;
//leak here
[massCheerSoundID play];
}
}
- (void)dealloc {
[super dealloc];
[massCheerSoundID release];
}
私は問題が何であるかを知りました。
代わりに UIAccelerometerDelegate を設定したので、インターフェイスに AVAudioPlayerDelegate を追加する必要があります
@interface iSpectatorViewController: UIViewController<AVAudioPlayerDelegate>
を設定します。
massCheerSoundId.delegate = self