我见过这样的代码:
if (delegate != nil && [delegate respondsToSelector:@selector(doSomething)]) ...
但是,发送一条消息nil
只返回nil
(计算结果为NO
),那么为什么不这样做:
if ([delegate respondsToSelector:@selector(doSomething)]) ...
如果 ,前者更快delegate == nil
吗?无论哪种方式,我更喜欢后者,因为它的代码更少。
并且,less
优于more
. 每个 Unix 专业人士都知道这一点。