macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

-doesNotRecognizeSelector:

INDEX>Foundation>NSObject>

指定したセレクタを認識しなくします
-(void)doesNotRecognizeSelector:(SEL)aSelector:

【精米】佐賀県産 白米 さがびより 5kg 平成26年産

【精米】佐賀県産 白米 さがびより 5kg 平成26年産

解説

指定したセレクタを認識しなくします。

ランタイムシステムはレシーバーが応答も転送も出来ないメッセージを受信した時にはこのメソッドを呼び出します。NSInvalidArgumentExceptionを起こします。

サブクラスで次のように実装することでメソッドを使用できないように設定することができます。

  • (void)copy

{
[self doesNotRecognizeSelector:_cmd]; //_cmdはカレントセレクタ
}
このコードでサブクラスからcopyメッセージに応答することもスーパークラスがcopyメッセージを転送することもできなくなります。しかし、respondsToSelector:を実行するとアクセスすることができると返されます。

返り値

( void )

なし

引数

( SEL )aSelector

セレクタ

クラス

NSObject

Instance Methods

使用可能

10.0

参照

例文

//initを使えなくする _cmdは自身のセレクタ
- (id)init
{
    [self doesNotRecognizeSelector:_cmd];
    return nil;
}