В моем приложении для iPhone у меня есть несколько мест, где я могу сделать
[object performSelector: withObject: afterDelay:]
вызов. Все приводят к одному и тому же методу. Теперь в этом методе я хочу выполнить некоторый код только при последнем его вызове. Если бы это было первое, я мог бы просто сделать [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(thisMethod) object:nil]
и быть уверенным, что его вызовут один раз.
Но есть ли способ узнать, есть ли какие-либо другие вызовы методов, ожидающие выполнения?
Я мог бы использовать счетчик в этом классе, который я увеличивал бы каждый раз, когда я устанавливал это выполнение с задержкой, затем уменьшал его в начале каждого вызова и выполнял код, только если этот счетчик обнуляется. Но мне интересно, если это лучший / приемлемый подход ...