Я использую Grand Central Dispatch в своем приложении для запуска метода в фоновом режиме.Метод вычисляет некоторые математические данные на основе ввода пользователя, и для этого требуется некоторое время.Имейте в виду, что он не использует Интернет.
Я запускаю этот фоновый метод "вычисления" (который является очередью отправки) всякий раз, когда загружается главное представление.Проблема заключается в том, что если пользователь переключает представления в приложении во время работы метода в фоновом режиме, приложение вылетает.
Есть ли способ «отменить» очередь / остановить запуск блока кода, когдапользователь переключает взгляды?Еще один способ думать об этом, глядя на iPhone Weather.app.Когда загружается Погода, она загружает данные в фоновом режиме, и нажатие маленькой кнопки с информацией в углу во время загрузки не приводит к сбою приложения.
Спасибо!
queue = dispatch_queue_create("com.mycompany.myqueue", 0);
dispatch_async(queue, ^{
//make some complicated calculations
});