gpt4 book ai didi

ios - iOS 13 上的 EXC_BAD_ACCESS

转载 作者:行者123 更新时间:2023-11-28 09:21:34 24 4
gpt4 key购买 nike

我正在维护一个由以前的开发人员完成的项目,它在 iOS 13 上开始经常崩溃。

崩溃总是相同但在不同区域:Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffee3a48f88)

请注意,这在以前的 iOS 版本中仍然有效,只是在 iOS 13 中

问题是在尝试访问 UIView 时引起的。例如,它在 cellView.layoutIfNeeded() 行中的以下代码片段中崩溃。这很奇怪,因为 _view 当然存在,因为它进入 if let

if let cellView = _view as? UITableViewCell {
cellView.layoutIfNeeded()
}

我还将添加来自 Xcode 的图片:

enter image description here

我觉得崩溃与处理此 _view 的方式有关。您通过以下方式传递 View :objc_getAssociatedObject(self, &theKey) 作为?自定义 View

这个CustomView的设置方式:

 var customView: CustomView? {
get {
return objc_getAssociatedObject(self, & theKey) as? CustomView
}
set {
objc_setAssociatedObject(self, & theKey, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
}

有人见过类似的东西吗?

我也查看了 ios 13 的发行说明,但没有发现任何相关内容。

谢谢

最佳答案

尝试将 _view 属性重命名为不太通用的名称。

我最近遇到了一个名为 _containerView 的属性的问题,它看起来像是由于 UIKit 工作方式(它是用 ObjC 编写的)和动态方法分派(dispatch)的一些变化,UIKit 可能正在使用您的变量相反,如果它自己导致崩溃。

关于ios - iOS 13 上的 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58390532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com