NS_DESIGNATED_INITIALIZERとNS_UNAVAILABLE

377 ワード

NS_DESIGNATED_INITIALIZER設置類の新規指定コンストラクタは、使用者を新たな構造方法でNS_UNAVAILABLEは利用できないと表明しました.
両者を一つのブロックに置いて使用し、新しい構造方法を使用するように誘導しながら、親から継承される方法を使用しないようにします.例:hファイル
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)initWithURL:(NSURL*)URL NS_DESIGNATED_INITIALIZER;
このように元々の初期化方法はinitが使えなくなり、コンパイラを無理やり使うとエラーが発生します.クラスコンストラクタを使用する場合は、initWithURLのみで初期化が可能です.