Я выполняю бесконечный цикл, чтобы вибрировать мой телефон внутри асинхронной задачи dispatchQueue.global (). As, чтобы мой пользовательский интерфейс не зависал, но проблема в том, что я не смог его остановить.ниже мой код
var queue: DispatchWorkItem?
queue = DispatchWorkItem {
while (self.l > 1)
{
AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))
}
}
DispatchQueue.global().async(execute: queue!)
и ниже код, где я пытаюсь остановить его, когда пользователи покидают экран
override func viewWillDisappear(_ animated: Bool) {
queue?.cancel()
l=0
DispatchQueue.global().async {
self.queue?.cancel()
}
print("view will disapear")
}
перепробовал почти все, но все равно не смог остановитьглобальная диспетчерская задача.PS: я новичок в разработке iOS:)