主要原因是因?yàn)檫@句代碼造成循環(huán)引用
[self.webView.configuration.userContentController addScriptMessageHandler:self name:@"popvc"];
1 找到一種方法通過(guò)把scriptMessageHandler轉(zhuǎn)交給一個(gè)新類(lèi)處理,但是相對(duì)下面的方法來(lái)說(shuō)代碼太多,就不作記錄了。
2 還有一種更好的方法就是在控制器pop出棧之前用removeScriptMessageHandlerForName移除掉addScriptMessageHandler
[self.contentWKWebView.configuration.userContentController removeScriptMessageHandlerForName:@"popvc"];
需要注意的是,我這里pop出棧成功后遇到了crash,導(dǎo)致這次crash的原因是強(qiáng)引用了scrollview,代理釋放不掉,所以會(huì)報(bào)錯(cuò),所以
self.webView.scrollView.delegate=nil;
這樣就好了