以前从未见过这个,有没有人遇到过以下日志的崩溃错误?
-[__NSCFString zOrder]: unrecognized selector sent to instance 0x11da100
出于某种原因,它在这一行崩溃了:
[[MMClass alloc] init];
我的单例类实现如下:
static id instance = nil;
+ (MMClass *)sharedInstance {
@synchronized([MMClass class])
{
if (!instance)
[[MMClass alloc] init];
return instance;
}
return nil;
}
答案 0 :(得分:3)
您没有将初始化对象分配给变量。此外,最推荐的创建单例的方法是:
+ (MMClass *)sharedInstance {
static dispatch_once_t onceToken;
static MMClass* _sharedInstance = nil;
dispatch_once(&onceToken, ^{
_sharedInstance = [[MMClass alloc] init];
});
return _sharedInstance;
}
答案 1 :(得分:1)
如您所见,问题是发送给zOrder
的消息NSString
。您应该在项目中搜索zOrder
消息。
此外,Xcode应该在调试器中运行并设置异常断点时查明有问题的代码。