Xcode (objective-c)で共通ロジックがあった場合、クラスメソッドを定義して使用することができます。
objective-cのクラスメソッドの使い方をまとめました。
サンプルプログラム
メインのプログラムで、日付から曜日を取得するロジックで、曜日取得だけをクラスメソッドにしたものです。
メインプログラム
// クラスメソッドを呼び出す MyClass01 *myClass = [MyClass01 ClassMethod01]; NSString *Wdate = @"20180411"; Wweekday = [myClass yasumi_chk1:Wdate]; NSLog(@"day,%ld",Wweekday);
クラスメソッド(hファイル)
@interface MyClass01 : NSObject // クラスメソッドの宣言 + (id)ClassMethod01; // インスタンスメソッドの宣言 - (NSInteger) yasumi_chk1:(NSString *)date_set;
クラスメソッド(mファイル)
// クラスメソッドの実装、初期化処理 + (id)ClassMethod01 { return [[self alloc] init]; } - (NSInteger) yasumi_chk1:(NSString *)date_set{ // 曜日 NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyyMMdd"];//日付フォーマット //チェック日領域 NSDate *chk_date = [dateFormatter dateFromString:date_set];//指定日セット NSString → NSDate // 曜日 NSDateComponents *comps = [calendar components:NSCalendarUnitWeekday fromDate:chk_date]; NSInteger weekday = comps.weekday; // 曜日(1が日曜日 7が土曜日) return weekday; }