美文网首页
isMemberOfClass与isKindOfClass区别

isMemberOfClass与isKindOfClass区别

作者: ThaiLanKing | 来源:发表于2017-07-09 22:06 被阅读11次
    1. 使用 isMemberOfClass: 判断对象是否是某个类的实例
    2. 使用 isKindOfClass: 判断是否为某个类或其派生类的实例
    //JBHomeV2ViewController是JBHealthBaseViewController的子类
    JBHomeV2ViewController *curVC = [[JBHomeV2ViewController alloc] init];
    
    (lldb) po [curVC isKindOfClass:[JBHealthBaseViewController class]]
    YES
    
    (lldb) po [curVC isMemberOfClass:[JBHealthBaseViewController class]]
    NO
    
    (lldb) po [curVC isMemberOfClass:[JBHomeV2ViewController class]]
    YES
    
    

    之所以不使用==来判断,因为有的类实现了消息转发,使用class返回的是发起代理的对象而非接受代理的对象.

    相关文章

      网友评论

          本文标题:isMemberOfClass与isKindOfClass区别

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