【发布时间】:2015-11-16 21:35:16
【问题描述】:
我在sharedInstance return Static.instance! 行发生以下崩溃:
EXC_BREAKPOINT 0x0000000100da42d8
在没有调试断点的 Ad Hoc 发布版本中发生了崩溃。
根据崩溃的调用堆栈sharedInstance在崩溃时应该已经存在(它首先在应用启动时调用,在按钮点击时发生崩溃)。
在装有 iOS 8.4.0 的 iPad Air 2 上发生崩溃,构建是在 Xcode 7.1.1 中使用 Swift 2.1 编译器编译的
App 本身(在启动时调用 sharedInstance)和 DataSource 类位于不同的模块中。难道是框架中的类与 DataSource 类的静态结构不同吗?
@objc public final class DataSource : NSObject
{
public class var sharedInstance: DataSource
{
struct Static
{
static var instance: DataSource?
static var token: dispatch_once_t = 0
}
dispatch_once(&Static.token)
{() -> Void in
Static.instance = DataSource()
}
return Static.instance!
}
override init()
{
super.init()
...
}
...
}
【问题讨论】:
标签: ios exception swift2 xcode7