Почему бы вам не использовать какую-то (простую версию) логическую переменную для запоминания, т.е. isInAction = true и после завершения действия isInAction = false ...
Поэтому, когда кто-то нажимает, вы используете что-то вроде
if (!isInAction) {
isInAction=true;
try {
doYourAction;
} catch {
...
} finally {
isInAction=false;
}
}
// Код - это своего рода псевдокод, потому что я еще не запрограммировал для IPhone только для того, чтобы визуализировать, что я имею в виду.