当我在初始化SIGABRT
中为类的属性“myLocal”赋值时,我得到了一个。怎么了?CMRequestManager
Singleton
@interface CMRequestManager (private)
@property (nonatomic,strong) NSString* myLocal;
@end
@implementation CMRequestManager
#pragma mark Singleton Methods
+ (id)Manager {
static CMRequestManager *sharedMyManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedMyManager = [[self alloc] init];
sharedMyManager.myLocal = @"test test"; //SIGABRT !!!!
});
return sharedMyManager;
}
- (id)init {
if (self = [super init]) {
}
return self;
}
@end
编辑:
好的,我找到了一个解决方案:在类扩展之外的头文件中移动属性“myLocal”:
@interface CMRequestManager
@property (nonatomic,strong) NSString* myLocal;
@end
这项工作,但我不明白为什么。所以问题仍然存在:我之前的代码有什么问题?