我有协议
@protocol ListPickerCellDelegate <NSObject>
@property (nonatomic, strong) TAActivity *activity;
@end
我想检查其财产上的委托。我怎么能这样做?
我的代码,不确定是否正常
if (!self.delegate || ![self.delegate respondsToSelector:@selector(activity))]) {
}
答案 0 :(得分:2)
根据评论:
如果
,您只需要检查是否存在实施如果是这种情况:
首先让我重写这个应用De Morgan:
if(!(self.delegate && [self.delegate respondsToSelector:@selector(activity)]))
{
…
}
我真的不明白这一点,因为你检查一下是否有没有方法activity
?通常情况是反过来,你想知道它是否在使用它之前。
但是,如果self.delegate
为nil
,[self.delegate respondsToSelector:…]
将返回NO
(已定义的消息为nil行为),整个&&
表达式将评估为{ {1}}无论第一个条件如何。因此,检查NO
。
只需写下:
nil
(我真的会把它转过来。)
答案 1 :(得分:-2)
只检查activity
是否为NULL