Ios UIWebView stringByEvaluatingJavaScriptFromString第二次不起作用

Ios UIWebView stringByEvaluatingJavaScriptFromString第二次不起作用,ios,objective-c,uiwebview,Ios,Objective C,Uiwebview,在UITableViewController中,我有一个第一次正确加载的带有stringByEvaluatingJavaScriptFromString的UIWebView。然后,当用户“关闭”时,视图控制器变小,然后可以再次请求它 - (void)viewDidLoad { textComments.delegate=self; NSString *path =[[[NSBundle mainBundle] bundlePath] stringByAppend

在UITableViewController中,我有一个第一次正确加载的带有stringByEvaluatingJavaScriptFromString的UIWebView。然后,当用户“关闭”时,视图控制器变小,然后可以再次请求它

- (void)viewDidLoad {
  textComments.delegate=self;
NSString *path =[[[NSBundle mainBundle] bundlePath]
               stringByAppendingString:@"/demo.html"];
[textComments loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]];
}

-(void)webViewDidFinishLoad:(UIWebView *)_textComments{
  NSString * html_string = [NSString stringWithFormat:@"document.getElementById('editor1').innerHTML='%@';"
                            , self.commentHTML];
  [_textComments stringByEvaluatingJavaScriptFromString:html_string];
  [_textComments stringByEvaluatingJavaScriptFromString:@"document.getElementById('editor1').focus();"];
}
demo.html是一个带有文本区域的html文件:

<textarea cols="80" id="editor1" name="editor1" rows="8">Content goes
here. ERROR: innerHTML not replaced!</textarea>
到目前为止,一切顺利。 问题是,当用户再次启动视图控制器时,UIWebView会加载预加载的demo.html内容,但webViewDidFinishLoad上的JavaScript stringByEvaluatingJavaScriptFromString不会发生。我已经确定webViewDidFinishLoad被解雇了。我还确保迪德罗也没有被解雇

你知道为什么第二次启动视图控制器时,stringByEvaluatingJavaScriptFromString没有发生吗

我想知道我是否必须销毁/解除锁定/释放我在这里没有想到的其他东西

非常感谢你的帮助

编辑以包含完整的demo.html:


这里没有足够的代码可以确定,但我的第一个猜测是,这个序列创建了dom的两个独立元素,javascript确实执行了,但将内容放在了错误的文本区域。

感谢您的回复。我编辑了这个问题以添加demo.html代码。正如您所看到的,demo.html文件中只有一个DOM textarea元素。我想知道是否有其他方法来销毁视图控制器实例。或者销毁Javascript调用,以防iOS认为UIWebView及其JS仍然处于活动状态。您是否查看了文档:或者其他可能性?
[textComments stopLoading];
[textComments removeFromSuperview];
textComments.delegate=nil;
self.textComments=nil;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>CKEditor</title>
    <meta content="text/html; charset=utf-8" http-equiv="content-type" />
    <script type="text/javascript" src="ckeditor.js"></script>
</head>
<body><p><textarea cols="80" id="editor1" name="editor1" rows="8">Content goes here. ERROR: innerHTML not replaced!</textarea></p>
</body>
</html>