Я получил SIGABRT
, когда я присвоить значение свойству «myLocal» класса CMRequestManager
в Singleton
Init. Что не так?исключение SIGABR при попытке присвоить свойство в 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
EDIT:
Хорошо, я нашел решение: перенести свойство "myLocal" в файле заголовка за пределами расширения класса:
@interface CMRequestManager
@property (nonatomic,strong) NSString* myLocal;
@end
Эта работа, но я не понимаю почему. Поэтому остается вопрос: что случилось в моем предыдущем коде?
см. Ths once http://stackoverflow.com/questions/14271421/exception-type-exc-crash-sigabrt –
Вместо этой строки ** sharedMyManager = [[self alloc] init]; **, вы можете заменить он с ** sharedMyManager = [[CMRequestManager alloc] init]; **. просто догадайтесь, пожалуйста, попробуйте. – user3300864
Я пробовал и делал ту же ошибку –