当 navigationController 弹出时,iOS WKWebView 在 ios 8 和 ios 9 上崩溃
Posted
技术标签:
【中文标题】当 navigationController 弹出时,iOS WKWebView 在 ios 8 和 ios 9 上崩溃【英文标题】:iOS WKWebView Crash on ios 8 and ios 9 When navigationController pop 【发布时间】:2017-07-06 16:57:05 【问题描述】:我有一个自定义的wkwebView
,称为SSWkWebView
。
我有两个 viewControllers (A & B) 。 [self.view addsubview: SSWkWebView]
当我将 B VC 弹出到 A VC 时,发生了崩溃。
并且崩溃只发生在 ios 8 和 ios 9 上,但不会发生在 ios 10 上。
日志信息:objc[31702]:无法形成对实例的弱引用 (0x7ffe21182c00) NSKVONotifying_SSWKWebView 类。有可能的 该对象被过度释放,或正在处理中 解除分配。
我做了一些研究,这是链接: Login flow failing after upgrading to iOS9 这似乎不起作用。然后我尝试了另一种添加以下代码的方法:
- (void)dealloc
wkWebView.scrollView.delegate = nil;
它也不起作用。
另外,我没有在dealloc
函数中引用weakSelf
。几十年来一直困扰着我。请提前帮助和感谢!
【问题讨论】:
您是否添加了任何通知观察者?喜欢 'addObserver:key:" 吗?请再分享几部分代码。 谢谢,我已经解决了这个问题。 很高兴您能够解决这个问题。请在答案部分发布您的解决方案。如果他们遇到同样的问题,它将帮助其他 SO 成员。提前致谢。 :-) @Johnic 你是怎么解决这个问题的 【参考方案1】:对于 ObjC,
- (void)didMoveToSuperview
if (self.superview == nil)
self.scrollView.delegate = nil;
https://***.com/a/52046816/443530
【讨论】:
以上是关于当 navigationController 弹出时,iOS WKWebView 在 ios 8 和 ios 9 上崩溃的主要内容,如果未能解决你的问题,请参考以下文章
弹出 NavigationController 时应用程序崩溃!
TabBarController + NavigationController:推送和弹出问题
弹出到 NavigationController 堆栈中的特定 ViewController
如果从navigationController弹出时会释放ViewController?
关闭(或弹出)我手动添加的 NavigationController 不起作用
Swift iOS - 如何使用 NavigationController 弹出到不同的 SegmentControl 索引