0

目前我正在实现一个静态库,如果我在测试应用程序中“按原样”使用代码,一切正常,但是如果我将代码编译为静态库,我会得到一个无法识别的选择器,这是我的代码:

+ (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]:无法识别的选择器发送到类 0x27ee8”

我现在很绝望,我尝试了几个单例实现。

4

1 回答 1

0

当您的文件系统中的路径错误时,可能会发生此错误。这就是我的情况。

于 2013-10-22T09:49:32.513 回答