Если у меня есть представление с заданным параметром executeSelector с задержкой:
[self performSelector:@selector(generateBall) withObject:NULL afterDelay:1.5];
... но я удаляю из этого просмотра вид из окна перед тем, как селектор сработает (например, из-за взаимодействия с пользователем), затем мое приложение вылетает.
Есть ли способ убить отложенный селектор в методе dealloc для этого представления?
EDIT:
Я пробовал оба:
[[NSRunLoop mainRunLoop] cancelPerformSelector:theBall target:self argument:nil];
и
[[NSRunLoop currentRunLoop] cancelPerformSelector:theBall target:self argument:nil];
и в то время как оба работают (что позволяет мне загружать новый вид), загрузка предыдущего вида заканчивается тем, что у меня появляется серый экран.
Мне не удалось найти какие-либо учебные пособия или другую информацию о cancelPerformSelector, кроме перечисленных выше документов Apple, а документация по потокам и циклам выполнения выглядит очень запутанной (в основном из-за того, что в них нет рабочего кода). образцы, которые облегчили бы мне шаг за шагом и понять, что происходит).