シングルトンをインスタンス化しようとすると、リンカーコマンドが終了コード1(-vを使用して呼び出しを確認)エラーで失敗します。
クラスをシングルトンにするために使用しているコードは次のとおりです。
.h
@interface CoursesManager : NSObject
{
}
+ (id)SharedInstance;
@end
.m
@implementation CoursesManager
+ (id)SharedInstance
{
static dispatch_once_t once;
static id sharedInstance;
dispatch_once(&once, ^{
sharedInstance = [[self alloc] init];
});
return sharedInstance;
}
@end
そして、これは私が他のクラスでそれを使用している方法です:
coursesManager = [CoursesManager SharedInstance];
もう少し調べてみると、このファイルを他の.mにインポートするだけで、リンカーエラーが発生するようです。私はこれを引き起こしている可能性があるものについてかなり混乱しています。どんな助けでもいただければ幸いです。
参考までに、Xcode4.3.3を使用しています。
エラーの完全なコメントを編集するのは次のとおりです。
ld:../Objects-normal/armv7/CourseEditorViewController.oおよび... / Objects-normal / armv7 / CourseSelectionViewController.oのアーキテクチャarmv7のシンボル_MAX_COURSESが重複していますclang:エラー:リンカーコマンドが終了コード1で失敗しました(-vを使用)呼び出しを確認するには)
@interface CoursesManagerの上で、2つのconst int変数、MAX_COURSESとMAX_HOLESを宣言しました。