gpt4 book ai didi

ios - 对于通过 scheduledTimerWithTimeInterval 分配的 NSTimer 属性,应该使用什么保留策略?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:51:53 26 4
gpt4 key购买 nike

我正准备将 NSTimer 属性添加到我的一个类中,以便在必要时/如果需要可以将其取消。我打算将它与 +scheduledTimerWithTimeInterval 一起使用:

我应该使用 strong、assign、copy 还是 unsafe_unretained? (使用 ARC)。

最佳答案

为此使用strong。通常,您还希望像这样覆盖 setter :

- (void)setTimer:(NSTimer *)aTimer {
if (aTimer != _timer) {
[_timer invalidate];
_timer = aTimer;
}
}

这样,当您更改或清除 (nil) 计时器时,旧计时器将自动失效(因此它不会在未来触发)。

aTimer != _timer 可以避免在您执行类似 self.timer = self.timer 的操作时使您的计时器无效。虽然您可能永远不会直接这样做,但有时会间接发生。

关于ios - 对于通过 scheduledTimerWithTimeInterval 分配的 NSTimer 属性,应该使用什么保留策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10289016/

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