Я подозреваю, что в тот момент, когда вы пытаетесь получить старый html, ваша страница еще не загрузилась, поэтому она возвращает пустую строку.
Попробуйте создать и назначить UIWebViewDelegate
для вашего представления, которое реализует webViewDidFinishLoad:
, и поместить вышеупомянутый код в эту функцию - oldHTML должен быть непустым в этой точке.
Что касается лучшего способа, вы можете добавить контент через javascript примерно так:
NSString *injectSrc = @"var i = document.createElement('div'); i.innerHTML = '%@';document.documentElement.appendChild(i);";
NSString *runToInject = [NSString stringWithFormat:injectSrc, @"Hello World"];
[myWebView stringByEvaluatingJavascriptFromString:runToInject];
Я бы порекомендовал немного убрать эту проблему, поскольку она не совсем безопасна, но она должна дать представление об использовании javascript для добавления новых элементов на страницу.