swift4.1升级到 HandyJSON crash
Posted iOS开发知识整理
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift4.1升级到 HandyJSON crash相关的知识,希望对你有一定的参考价值。
var numberOfFields: Int {
return Int(pointer.pointee.numberOfFields)
}
在升级之后,这个地方会crash。然后在github上看了一下反馈发现也有遇到相同问题的人。不过幸运的是这个crash已经被解决了。
extension NominalType {
var nominalTypeDescriptor: NominalTypeDescriptor? {
let pointer = UnsafePointer<Int>(self.pointer)
let base = pointer.advanced(by: nominalTypeDescriptorOffsetLocation)
if base.pointee == 0 {
// swift class created dynamically in objc-runtime didn't have valid nominalTypeDescriptor
return nil
}
#if swift(>=4.1)
return NominalTypeDescriptor(pointer: relativePointer(base: base, offset: base.pointee - base.hashValue))
#else
return NominalTypeDescriptor(pointer: relativePointer(base: base, offset: base.pointee))
#endif
// return NominalTypeDescriptor(pointer: relativePointer(base: base, offset: base.pointee))
}
只需要在这个扩展里面加一个判断就好了。还以为是我哪儿出了问题,吓我。
遇到第三方错误时,可以看下github issues 有没有类似的问题。
以上是关于swift4.1升级到 HandyJSON crash的主要内容,如果未能解决你的问题,请参考以下文章
阿里巴巴最新开源项目 - [HandyJSON] 在Swift中优雅地处理JSON
ReactJS/Next.js:CRA 代理不适用于 Next.js(尝试将 API 请求路由到 Express 服务器)
HandyJSON:Swift语言JSON转Model工具库
Swift + iOS,HANDYJSON 线程 1:EXC_BAD_ACCESS(代码=1,地址=0x20c7f4194)