我正在开发一个应用程序,我遇到了一个我无法解释的崩溃。
图书馆相当复杂,所以我准备了一个最小的例子
struct Info {
static let test = 1
}
class SuperCls<A> {}
class Cls<A>: SuperCls<A> {
let v: Info.Type = Info.self
}
let v = Cls<Int>()
当我在最后一行中分配类时出现以下错误
时,此代码崩溃 file:///play.playground/: error: Playground execution aborted: error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=1, address=0x4403).
我也在xcode项目中尝试了这个,错误几乎相同
我找到了使这段代码有效的方法
struct Info {
static let test = 1
}
class SuperCls<A> {}
class Cls<A>: SuperCls<A> {
var v: Info.Type?
override init() {
v = Info.self
super.init()
}
}
let v = Cls<Int>()
有人能告诉我为什么会发生此次崩溃吗? 谢谢!
更新
I also discovered that this works
struct Info {
let test = 1
}
class SuperCls<A> {}
class Cls<A>: SuperCls<A> {
let v = Info()
}
let v = Cls<Int>()
问题似乎与我使用Info
作为类型并访问静态信息这一事实相关
答案 0 :(得分:0)
好吧,似乎它是Xcode beta 5中的一个错误
感谢您的帮助