当对象存在于内存中时,代码= 2的EXC_BAD_ACCESS

时间:2014-06-30 11:12:14

标签: ios iphone objective-c memory-management exc-bad-access

任何人都可以花时间解释如何在EXC_BAD_ACCESSparentVC之前获得parentVC.audioHandler例外情况。 parentVC.audioHandler.player& strong都存在于记忆中吗? (它们都是用player指针创建的)

enter image description here

P.S:AVAudioPlayerisPlaying,显然有player方法。

P.P.S:parentVC.audioHandler.playerAVAudioPlayer *player = parentVC.audioHandler.player;相同,并且定义为更高的几行:

{{1}}

1 个答案:

答案 0 :(得分:0)

发现问题:

player是一个有效的AVAudioPlayer对象,并且正确存在于内存中。

问题在于它使用init方法分配,如:

self.player = [[AVAudioPlayer alloc] init];

由于AVAudioPlayer没有init方法,这是错误的,您应该使用initWithURLinitWithData代替!

希望这可以帮助别人。