gpt4 book ai didi

iphone - cancelPreviousPerformRequestsWithTarget 在 dealloc 中不起作用

转载 作者:行者123 更新时间:2023-12-03 20:25:37 26 4
gpt4 key购买 nike

-(IBAction)voiceBroadcast
{

if ([audioPlayer isPlaying]) {
[audioPlayer stop];
[NSObject cancelPreviousPerformRequestsWithTarget:self];
}


else {
if (nil != audioPlayer) {
[audioPlayer play];
audioPlayer.volume = 0.0;
[self performSelector:@selector(doBgMusicFadeIn)];
[self performSelector:@selector(doBgMusicFadeDown) withObject:nil afterDelay:3];
[self performSelector:@selector(startVoiceBroadcast) withObject:nil afterDelay:4];

}
}
}

-(void)dealloc
{
//position
[NSObject cancelPreviousPerformRequestsWithTarget:self];

[super dealloc];

}

调用了dealloc中的cancelPreviousPerformRequestsWithTarget:self,但不起作用,选择器仍然被调用。但是voiceBroadcast中的cancelPreviousPerformRequestsWithTarget:self没有问题。 cancelPreviousPerformRequestsWithTarget 方法是否无法在 dealloc 中使用?

最佳答案

如果您使用的是 UIViewController...

我不知道为什么它没有执行,但你可以尝试放入

[NSObject cancelPreviousPerformRequestsWithTarget:self];

-viewDidUnload方法中,该方法在dealloc之前调用。

更多信息请参见 UIViewController's reference

关于iphone - cancelPreviousPerformRequestsWithTarget 在 dealloc 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7886851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com