class ViewController: UIViewController { let processingQueue = DispatchQueue(label: "com.kishikawakatsumi.test") override func viewDidLoad() { super.viewDidLoad() processingQueue.async { [weak self] in self?.processingLoop() } } private func processingLoop() { while true { // Do something } } }
^ これでDispatch QueueがViewControllerの参照を持ち続けてしまうためにViewControllerが解放されないの、直す手段ありますか?while true
のところを変数にして while isProcessing
とか 閉じるタイミングなどで外からそのフラグをfalseにする、くらいしか思いつかなかった。