次のようなコードを見てきました:
if (delegate != nil && [delegate respondsToSelector:@selector(doSomething)]) ...
しかし、メッセージを に送信すると(これは に評価されます)nil
が返されるだけなので、次のようにしない理由はありません。nil
NO
if ([delegate respondsToSelector:@selector(doSomething)]) ...
の場合、前者の方が速いですdelegate == nil
か?いずれにせよ、コードが少ないため、後者を好みます。
そして、less
よりも優れていmore
ます。すべての Unix プロはそれを知っています。