gpt4 book ai didi

ios - xcode 在另一个函数中调用时调用 int 重新定义 int 的值

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:46:54 28 4
gpt4 key购买 nike

我在通过在另一个函数中调用一个函数来递增一个 int 时遇到问题。

目前我正在处理的部分看起来像这样:

在 .h 文件中,我将 int 和计时器声明为:

int count;
NSTimer *sequenceOn;

在 .m 文件中,我的函数段如下所示:

-(void) sequence {
count = 1;

while (count < (target)) {


sequenceOn = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(imagePlayer) userInfo:nil repeats:NO];

}
}

-(void)imagePlayer {

--CODE HERE FOR PLAYING ANIMATION--
count = count + 1;
}

我的所有其他代码都工作正常,它应该播放一系列图像,使用计数值来决定播放哪一个。目前虽然它只播放第一个动画并且不会递增到下一个。

如有任何帮助,我们将不胜感激。

谢谢。

最佳答案

计时器将为 fired from the run loop ,您的代码在运行循环时被阻止。您可能希望有一个计时器定期调用您的方法:

-(void)stopTimer {
[sequenceOn invalidate];
sequenceOn = nil;
}

-(void)sequence {
[self stopTimer];
count = 1;
// start a repeating timer:
sequenceOn = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self
selector:@selector(imagePlayer) userInfo:nil repeats:YES];
}

-(void)imagePlayer {
//--CODE HERE FOR PLAYING ANIMATION--
count = count + 1;
if (count >= target) {
[self stopTimer];
}
}

关于ios - xcode 在另一个函数中调用时调用 int 重新定义 int 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5999579/

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