-doesNotRecognizeSelector:
INDEX>Foundation>NSObject>
指定したセレクタを認識しなくします
-(void)doesNotRecognizeSelector:(SEL)aSelector:
- 出版社/メーカー: 藤井商店
- メディア: 食品&飲料
- 購入: 8人 クリック: 27回
- この商品を含むブログを見る
解説
指定したセレクタを認識しなくします。
ランタイムシステムはレシーバーが応答も転送も出来ないメッセージを受信した時にはこのメソッドを呼び出します。NSInvalidArgumentExceptionを起こします。
サブクラスで次のように実装することでメソッドを使用できないように設定することができます。
- (void)copy
{
[self doesNotRecognizeSelector:_cmd]; //_cmdはカレントセレクタ。
}
このコードでサブクラスからcopyメッセージに応答することもスーパークラスがcopyメッセージを転送することもできなくなります。しかし、respondsToSelector:を実行するとアクセスすることができると返されます。
返り値
( void )
なし
フレームワーク
Foundation
クラス
NSObject
Instance Methods
使用可能
10.0
参照
例文
//initを使えなくする _cmdは自身のセレクタ - (id)init {     [self doesNotRecognizeSelector:_cmd];     return nil; }