美文网首页
isKindOfClass和isMemberOfClass之间的

isKindOfClass和isMemberOfClass之间的

作者: 柠檬草YF | 来源:发表于2019-09-25 20:14 被阅读0次

    1.isKindOfClass是判断对象是否是一个类的实例,或者是该类祖先类的实例;
    2.isMemberOfClass只能用来判断前者,不能用来判断后者

    @interface SuperClass : NSObject
    @end
    @interface ChildClass : SuperClass
    @end
    
    SuperClass *superOb = [[SuperClass alloc]init];
    ChildClass * childOb = [[ChildClass alloc]init];
    
    [superOb isKindOfClass:[SuperClass Class]]; // YES
    [superOb isKindOfClass:[ChildClass Class]]; // NO
    
    [childOb isKindOfClass:[SuperClass Class]]; // YES
    [childOb isKindOfClass:[ChildClass Class]]; // YES
    
    
    [superOb isMemberOfClass:[SuperClass Class]]; // YES
    [superOb isMemberOfClass:[ChildClass Class]]; // NO
    
    [childOb isMemberOfClass:[SuperClass Class]]; // NO
    [childOb isMemberOfClass:[ChildClass Class]]; // YES
    

    相关文章

      网友评论

          本文标题:isKindOfClass和isMemberOfClass之间的

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