项目总结-5

作者: MarceauHe | 来源:发表于2016-04-10 16:54 被阅读101次

    经典错误

    报错>>>>>>-[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的方法,一般都是集合的方法(比如字典\数组)
    
    
    • 实现系统的ViewWithTag:方法
    @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(@"点击了状态栏")
    }
    

    相关文章

      网友评论

      本文标题:项目总结-5

      本文链接:https://www.haomeiwen.com/subject/qawblttx.html