这是我的代码目前的样子
NSTimer *delayTimer;
delayTimer = [NSTimer scheduledTimerWithTimeInterval:0.01
target:self
selector:@selector(longRunner)
userInfo:nil
repeats:NO];
// [delayTimer invalidate];
如果我通过构建和分析运行此操作,我会收到以下警告
永远不会读取存储在delayTimer中的值。
我理解这条消息及其含义,但无法弄清楚如何阻止它出现。是否有一些分析器消息可以忽略?
我尝试添加注释的无效代码,但正如预期的那样,它在计时器之前运行,因此计时器没有。
答案 0 :(得分:1)
我认为这是安全的,它只是警告你,你的价值没有被你的剧本所淹没。
像php一样警告你:
注意:未定义的变量:
除非在退出应用程序之前必须运行,否则你应该在代码中的某处使你的计时器无效。
答案 1 :(得分:0)
忽略警告永远不是一个好主意。在这种情况下,您有两种选择:
将计时器存储在属性中。这是更好的选择,因为它允许您在计时器触发之前销毁创建它的对象时销毁计时器。
不要创建局部变量。这是实际警告。由于您没有使用指针'delayTimer',因此不要指定它。
选项1是正确的答案。选项2将删除警告。