Initでクラス の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
これは機能しますが、理由がわかりません。疑問が残ります: 以前のコードのどこが間違っているのでしょうか?