サブクラスでイニシャライザを実装する場合、
親クラスのイニシャライザを使用禁止にしたいことが多い。
普通は使用禁止にするメソッドを呼ぶと例外を出すようにすることが多いと思うが、以下のようにするとコンパイルエラーにすることができる。
- (instancetype)init __attribute__((unavailable("init is not available")));
これは便利。
参考:iOS - イニシャライザが守るべき3つのルール - Qiita
サブクラスでイニシャライザを実装する場合、
親クラスのイニシャライザを使用禁止にしたいことが多い。
普通は使用禁止にするメソッドを呼ぶと例外を出すようにすることが多いと思うが、以下のようにするとコンパイルエラーにすることができる。
- (instancetype)init __attribute__((unavailable("init is not available")));
これは便利。
参考:iOS - イニシャライザが守るべき3つのルール - Qiita