Я нахожусь на OSX, Xcode 8.2, а не на iOS.Предотвращение повторного выполнения команды
Я открываю представление с помощью раскадровки segue (popover) при нажатии кнопки, а не программно.
В то время как popover «выскакивает», если вы нажимаете кнопку запуска быстро, segue вызывается несколько раз, открывая несколько popovers в одном и том же месте друг над другом.
Я бы хотел, чтобы popover не открывался дважды, если popover уже открыт. Какой был бы лучший способ сделать это?
Мой текущий подход заключается в том, чтобы сохранить активацию/открытие в BOOL в файле prepareForSegue и проверить его значение в shouldPerformSegue. Затем переменная сбрасывается самим представлением (при закрытии через делегат)
Но это не кажется чистым, поэтому мне было интересно, есть ли более эффективный способ выполнения этой задачи.
Я не знаю о macOS, но вы не могли бы проверить что-то вроде '' if ((self.presentedViewController) 'или что-то в этом роде, так как вы называете« presentPopover или soemthing »? – Larme