gpt4 book ai didi

iphone - iPhone NSTimer失效有问题

转载 作者:行者123 更新时间:2023-12-03 17:43:28 28 4
gpt4 key购买 nike

好吧,我知道我前段时间也问过类似的问题,但这是不同的。我现在有两个计时器,分别在各自按钮的TouchDown事件上关闭。在TouchUpInside事件中,我有各自的代码告诉每个计时器[pressTimer invalidate]pressTimer = nil。自从我添加第二个计时器以来,现在发生的问题是,当触发选择器时(因此释放按钮并触发TouchUpInside事件),应用程序崩溃并吐出Not recognized [NSCFTimer -invalidate]或类似的内容。这些按钮可以正常工作,直到计时器触发为止,甚至直到我松开手指时才崩溃。我认为这是因为TouchUpInside事件正在尝试使无效/触发的计时器无效,因为在计时器仍在运行时它可以正常工作。我不知道为什么会这样,因为在我添加第二个计时器之前从未发生过。我的临时解决方法是设置计时器的repeating:YES部分,这支持我的理论,即它不能使无效/触发的计时器无效。有什么建议么?

*奖金:在相关说明中,在人们出现在iTunes Connect中之前,我需要从几起崩溃中解决?

最佳答案

一方面,pressTimer=nil没有任何作用。 nil赋值仅在使用setter时在retain ed属性即self.timer = nil;上释放对象。 (实际上是:[self setTimer:nil]!)

但是即使这样,如果您自己引用错误并确实使用了setter,也无需释放NSTimer实例,而只需释放invalidate d。您的“引用类型”错误应该不会发生。

关于您的理论:在这种情况下,您可以将invalidate读为release-您不能经常这样做...

手册指出,需要从安装它的同一线程中调用无效,除此之外,实际上没有任何原因可以使崩溃。

关于iphone - iPhone NSTimer失效有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3270690/

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