以下代码在iOS模拟器中运行正常,但会在设备上导致EXC_BAD_ACCESS异常。
这是Swift中的一个错误,还是我只是在做一些奇怪的事情?
什么行不通:
class Foo: NSObject {
class var name: String {
return "A foo"
}
}
struct FooWrapper<T: Foo> {
var fooName: String
init(foo: T) {
fooName = foo.dynamicType.name
}
}
var foo = Foo()
var fooWrapper = FooWrapper(foo: foo)
println(fooWrapper.fooName)
要使其有效,请执行以下操作:
(foo as Foo).dynamicType.name