【发布时间】:2013-10-22 09:32:45
【问题描述】:
目前我正在实现一个静态库,如果我在测试应用程序中“按原样”使用代码,一切正常,但如果我将代码编译到静态库,我会得到一个无法识别的选择器,这是我的代码:
+ (id)sharedInstance {
DEFINE_SHARED_INSTANCE_USING_BLOCK(^{
return [[self alloc] init];
});
}
#define DEFINE_SHARED_INSTANCE_USING_BLOCK(block) \
static dispatch_once_t pred = 0; \
__strong static id _sharedObject = nil; \
dispatch_once(&pred, ^{ \
_sharedObject = block(); \
}); \
return _sharedObject; \
打电话
[ZanoxTrackingEvent sharedInstance]
结果
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+[ZanoxTrackingEvent sharedInstance]: unrecognized selector sent to class 0x27ee8”
我现在很绝望,我尝试了几个单例实现。
【问题讨论】:
标签: ios objective-c singleton static-libraries