Я использую стандарт UIWebView
и должен знать, когда stringByEvaluatingJavaScriptFromString:
завершено. Я знаю, что WKWebView
имеет обработчик завершения, но мне нужно использовать текущий UIWebView
, который мне дал. Поскольку метод должен работать на основном потоке, GCD не очень помог. Какие-либо предложения?Сообщите, когда stringByEvaluatingJavaScriptFromString: завершил
-(void)insertValue:(NSString*)value inWebView:(UIWebView*)webView{
NSString *jsString = [NSString stringWithFormat:kConstantJSString, value];
[webView stringByEvaluatingJavaScriptFromString: jsString];
NSLog("THIS SHOULD LOG WHEN JS HAS EXECUTED");
}
Но '[UIWebView stringByEvaluatingJavaScriptFromString:]' синхронное и не вернется, пока весь код Javascript не оценивается. Возможно, код вашего запуска запускает другую задачу async (в javascript), поэтому вы чувствуете, что это не синхронно. – Cristik