У меня есть NSOperationQueue
с некоторыми NSOperations
в нем ( NSInvocationOperations
], в частности) .Эти операции выполняют некоторые вычисления и соответственно изменяют состояния элементов пользовательского интерфейса (конечно, через performSelectorOnMainThread: ...
), часто с использованием анимации.
Мой пользовательский интерфейс имеет UINavigationViewController и несколько кнопок для перехода к другим представлениям. Таким образом, пользователь может покинуть текущее представление, пока вычисления / анимация все еще продолжаются. И мне нужно как-то остановить это, пока пользователь не вернется к текущему представлению.
Единственное решение, которое я нашел, - это создать некоторый потокобезопасный логический флаг - и проверять его во всех потоках (что-то вроде: while! Flag sleep_for_some_time ;). Есть что-нибудь получше?