以下の内容はhttps://anton0825.hatenablog.com/entry/20121015/1351756253より取得しました。


initの中でselfのnilチェックをする理由

init系メソッドの中では以下のようにnilチェックをするコードを書くことが多い。

- (id)init{
    self = [super initWithNibName:nil bundle:nil];
    if (self) {
        // 初期化
    }
    return self;
}

なんでselfのnilチェックが必要なのかよくわかっていなかったので調べた。
ビルトインクラスの中には、正しく初期化できなかった時にinitメソッドnilを返す仕様のものがあるらしい。
そういうクラスがあっても、例外を吐いて落ちないようにするためにnilチェックをするらしい。
であれば、initを呼び出す側のコードでもnilチェックをして、nilの場合はエラー処理するようにしないといけないと思われる。(ごめんなさいやってませんでした)
参考:In Objective-C why should I check if self = [super init] is not nil? - Stack Overflow




以上の内容はhttps://anton0825.hatenablog.com/entry/20121015/1351756253より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14