Не могли бы вы опубликовать код для doNothing
тоже, пожалуйста?
Если doNothing
действительно ничего не делает, то происходит то, что метод doNothing
вызывается через 3 секунды после выполнения следующей строки:
[self performSelector: @selector(doNothing) withObject:nil afterDelay:3];
Но вот в чем дело, следующая строка выполняется сразу после того, как ваш doNothing
метод был запланирован для запуска через три секунды:
[sender setImage: [UIImage imageNamed: @"firstImage"]];
Другими словами, выполнение метода не ожидает завершения выполнения метода doNothing
, оно просто продолжается, и doNothing
запускается в отдельном потоке.