Нет, это незаконно на основании языка.
Вы должны различать разных игроков по указателю AVAudioPlayer *
отправлено с сообщением.
Если вы просто хотите выпустить его, просто напишите
- (void) audioPlayerDidFinishPlaying:(AVAudioPlayer *)aPlayer successfully:(BOOL)flag
{
[aPlayer release];
}
и вы закончили и незаконно, так как у вас нет aPlayer.
Но лучшим решением было бы определить, какой аудиоплеер у вас есть, и выпустить его.
- (void) audioPlayerDidFinishPlaying:(AVAudioPlayer *)aPlayer successfully:(BOOL)flag
{
if ( aPlayer == self.media )
[self.media release];
else if ( aPlayer == self.media2 )
[self.media2 release];
// other players cannot be released, since we don't know anything about their owner.
}