忘備録

日々の調べ物をまとめる。アウトプットする。基本自分用。

【Objective-C】イニシャライザー

イニシャライザー

引数ありのイニシャライザーの書き方。

HogeClass.h

@interface HogeClass : NSObject

/** 引数1 */
@property(readonly) NSString *param1;
/** 引数2 */
@property(readonly) NSString *param2;

/**
 イニシャライザー
 */
- (id)initWithProperty:(NSString*)param1 and:(NSString*)param2;

@end

HogeClass.m

@implementation HogeClass

- (id)initWithProperty:(NSString*)param1 and:(NSString*)param2
{
    self = [super init]; //スーパークラスの指定イニシャライザを実行
    if (self) {
        _param1 = param1;
        _param2 = param2;
    }
    return self;
}
@end

イニシャライザーの戻り値の方はinstancetypeでも良いみたい。
というか、Appleのライブラリはinstancetypeで統一されてるっぽいので、instancetypeにしたほうが良い気がしてきた。。。

参考

Objective-Cのイニシャライザ | Objective-CとXcodeでiPhoneアプリを作ろう