【第5期】isCorrectViewWithClass
2020-01-06 本文已影响0人
天天乐视
关注微信公众号【科技小弟】,了解第一手iOS小知识。
今天我们来讲讲小D君自己写的一个方法,叫做:isCorrectViewWithClass
- (id)isCorrectViewWithClass:(Class)aClass subView:(id)sender {
id view = [sender superview];
if (view) {
if ([view isKindOfClass:aClass]) {
return view;
} else {
return [self isCorrectViewWithClass:aClass subView:view];
}
} else {
return nil;
}
}
从代码可以分析出,它的作用是递归取父视图。
通常在哪里可以用到这段代码呢?
当我们需要获取UIButton属于哪个UITableViewCell的时候,这个方法就显得特别好用,比如像这样:
科技小弟(https://www.jianshu.com/u/23c527245f22)
- (void)cellButtonHandle:(id)sender {
UITableViewCell *cell = [self isCorrectViewWithClass:[UITableViewCell class] subView:sender];
}
cellButtonHandle是Cell上的按钮触发事件,通过将按钮sender传入,就可以得到UITableViewCell,特别方便。
你学到了吗?