Я не уверен, что согласен с непосредственным вызовом didSelectRowAtIndexPath.Я бы предложил перенести все, что вы там делаете, в отдельный метод (скажем, selectionResponse:
) и вызвать его напрямую.
Как только вы это сделаете, вы можете использовать performSelector:withObject:afterDelay:
для вызова метода selectionResponse:
, установив для аргумента afterDelay:
любое значение, которое вы хотите.
Ссылка на документацию по performSelector:withObject:afterDelay
здесь
Обратите внимание, что также является хорошей идеей использовать + cancelPreviousPerformRequestsWithTarget:selector:object:
(из того же документа) в вашей транзакции, чтобы отменить ожидающий запрос на выполнение, если ваш пользователь решит отказаться от вашего контроллера представления в течение периода задержкиперед вызовом селектора.Это предотвратит сбой.