经典错误
报错>>>>>>-[UIView setSelected:]: unrecognized selector sent to instance 0x7ff3f35b1070
报错原因>>>>>>错误将UIView当作按钮来使用使用
报错>>>>>>>>-[XMGPerson length]: unrecognized selector sent to instance 0x7ff3f35b1070
报错原因>>>>>>>>错误将XMGPerson当做NSString来使用,比如
id obj = [[XMGPerson alloc] init];
NSString *string = obj;
string.length;
报错>>>>>-[XMGPerson setObject:forKeyedSubscript:]: unrecognized selector sent to instance 0x7ff3f35b1070
报错原因>>>>>>>错误将XMGPerson当做NSMutableDictionary来使用
规律: 方法名里面包含了Subscript的方法,一般都是集合的方法(比如字典\数组)
@implementation UIView
- (UIView *)viewWithTag:(NSInteger)tag
{
// 如果自己的tag符合要求, 就返回自己
if (self.tag == tag) return self;
// 遍历子控件,查找tag符合要求的子控件
for (UIView *subview in self.subviews) {
// if (subview.tag == tag) return subview;
UIView *resultView = [subview viewWithTag:tag];
if (resultView) return resultView;
}
// 找不到符合要求的子控件
return nil;
}
@end
/**
* 可以在这个AppDelegate方法中监听到状态栏的点击
*/
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
if ([touches.anyObject locationInView:nil].y > 20) return;
NSLog(@"点击了状态栏")
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。