Возможно, проблема в том, что вы перезапускаете massCheerSoundId снова и снова, если вы не изменяете свой вид. Итак, если вы добавляете свое подпредставление, вызывается viewDidLoad и вы инициализируете свой проигрыватель, то, возможно, вы удаляете подпредставление и добавляете его снова, поскольку вы не освободили представление (при условии, что у вас есть только одна копия), dealloc не вызывается ( в любом случае, я так не думаю), тогда, если вы снова добавите представление massCheerSoundId, которое будет переопределено и утечку .., другая проблема может заключаться в том, что, поскольку у вас есть massCheerSoundId в качестве свойства, вы выделяете его, и созданный установщик также сохраняет его, так что вы осталось +2 счетчика ссылок, когда он должен быть только +1 ... поэтому, предполагая, что мои предположения верны, я бы предложил написать viewDidLoad как это
- (void)viewDidLoad {
NSString * filePath;
filePath = [[NSBundle mainBundle] pathForResource:@"massCheer" ofType:@"mp3"];
if(massCharSoundId!=nil)
{
AVAudioPlayer *p= [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURLfileURLWithPath:filePath ]error:nil];}
massCheerSoundID = p;
[p release];
}