Привет, это может быть уже далеко, но я надеюсь, что это помогает.
Я просто использовал уведомление, когда оно входит в метод webViewDidFinishLoad, чтобы я мог перехватить один экземпляр метода, а затем я обнаружу уведомление и оттуда сделаю свою логику.
надеюсь, это поможет. он не захватывает последний вызванный экземпляр метода webViewDidFinishLoad, но позволяет вам делать что-то после его вызова и не повторять вызовы этого конкретного метода (например, показ кнопки).
********* EDIT * ********
Я сделал тест и смог его проверить. это на самом деле работает, и метод, вызываемый из уведомления, будет вызван после полной загрузки страницы.
в качестве альтернативы, я думаю, вы можете сделать счетчик для метода делегата webViewDidStartLoad, а также для webViewDidFinishLoad, чтобы убедиться, что они совпадают, прежде чем запускать ваши коды. это, однако, ужасный хак, поскольку мы никогда не узнаем, сколько раз он будет вызываться, если только я, как и вы, не загружаете html-фид и можете добавить JavaScript, чтобы проверить, сколько элементов на странице, которую вы загружаете. Я просто делюсь некоторыми методами, которые я пытался решить. надеюсь, это поможет.
обратная связь приветствуется. спасибо!