我有协议
@protocol ListPickerCellDelegate <NSObject>
@property (nonatomic, strong) TAActivity *activity;
@end我想检查它的属性的委托。canI是怎么做到的?
我的代码,不确定还行吗
if (!self.delegate || ![self.delegate respondsToSelector:@selector(activity))]) {
}发布于 2015-09-01 20:37:28
根据评论意见:
您只需检查实现是否存在,如果
如果是这样的话:
首先,让我重写这个应用德摩根
if(!(self.delegate && [self.delegate respondsToSelector:@selector(activity)]))
{
…
}我真的不明白这一点,因为你检查,有没有方法activity?通常情况下,它是相反的,你想知道,它是否在使用之前存在。
但是,如果self.delegate是nil,则[self.delegate respondsToSelector:…]将返回NO (定义为零行为的消息),并且不管第一个条件如何,整个&&表达式都将计算为NO。因此,检查nil是没有意义的。
只需写:
if(![self.delegate respondsToSelector:@selector(activity)])
{
// Do not use activity
}
else
{
TAActivity *activity = [self.delegate activity];
}(我真的会扭转这种局面。)
发布于 2015-09-01 20:30:34
只需检查activity是否为空
https://stackoverflow.com/questions/32340135
复制相似问题