私のアプリがバックグラウンドモードに入ったときに呼び出される関数があります。ユーザーがアプリを再起動したときにスレッドを停止するようにしました。私は今のところ働こうとはしていません。このNSThreadを停止するにはどうすればよいですか?
はここで、これまでに私のコードです:
class Neversleep {
private static var callback : (()->Void)?
private static var thread: NSThread?
static func start(callback:()->Void) {
self.callback = callback
Neversleep.thread = NSThread(target: self, selector: #selector(Neversleep.task), object: nil)
Neversleep.thread?.start()
}
static func stop() {
print("NEVERSLEEP:STOP")
Neversleep.thread?.cancel()
}
@objc static func task() {
while (true)
{
sleep(3);
print("we are still running!")
callback?()
}
}
}
私はアプリデリゲートのDidEnterBackgroundメソッドからNeversleep.start()を呼び出します。
willEnterForegroundからNeversleep.stop()を呼び出していますが、スレッドを停止していません。
私は確信しています。しかし何?
魅力的なように機能しました。どうもありがとうございます。 – bflora2