预定的计时器会自动释放吗

dux*_*x-- 2 timer nstimer ios swift

我正在使用以下 NSTimer 类方法:

NSTimer.scheduledTimerWithTimeInterval(
 3, 
 target: self, 
 selector: Selector("setWaitThreeSecondsFalse"), 
 userInfo: nil, 
 repeats: false
)
Run Code Online (Sandbox Code Playgroud)

选择器运行后返回的计时器是否被释放?或者我必须明确地使计时器无效?

Abh*_*nav 5

来自苹果文档:

\n\n
\n

计时器与运行循环结合使用。要有效地使用计时器,\n 您应该了解运行循环的运行方式\xe2\x80\x94请参阅 NSRunLoop 和\n 线程编程指南。请特别注意,运行循环维护对其计时器的强引用,因此在将计时器添加到运行循环后,您不必维护自己对计时器的强引用。

\n
\n\n

由于运行循环保存了对对象的字符串引用NSTimer,因此必须使其无效NSTimer才能将其从运行循环中删除。

\n\n

编辑\n这显然对于重复计时器有效。正如 rmaddy 指出的那样,不重复会自动失效!

\n