zoukankan      html  css  js  c++  java
  • isMemberOfClass和isKindOfClass之间区别

    isMemberOfClass方法是来确定对象是否是某一个类的成员。在下一个任务中,我们使用这个方法来验证一个特定的对象是否是一个特定的类成员

    例子:

    #import <Foundation/Foundation.h>

    #import <stdio.h>

    @interface Class1 : NSObject

    {

    }

    -(void)print;

    @end

    @implementation Class1

    -(void)print

    {

    printf("This is Class1 .\n");

    }

    @end

    @interface Class2 : NSObject

    {

    }

    -(void)prinf;

    @end

    @implementation Class2

    -(void)prinf

    {

    printf("This is Class2.\n");

    }

    @end

    int main (int argc, const char * argv[]) {

        // insert code here...

    Class1 *c1=[Class1new];

    Class2 *c2=[Class2new];

    if ([c1 isMemberOfClass:[Class1class]]==YES) {

    printf("c1 is Member of Class1 !\n\n");

    }

    if ([c2 isMemberOfClass:[Class2class]]==YES) {

    printf("c2 is Member of Class2 !\n\n");

    }

        return 0;

    }

    输出结果:

    c1 is Member of Class1  !

    c2 is Member of Class2  !

    isKindOfClass我们也可以使用isKindOfClass来检查一个对象是否是一个类的成员。isMemberOfClass和isKindOfClass之间区别是:我们可以使用isKindOfClass来确定一个对象是否是一个类的成员,或者是派生自该类的成员。

    例如:我们已经成NSObject派生了自己的类,isMemberOfClass不能检测任何的类都是基于NSObject类这一事实,而isKindOfClass可以。

    应用举例:

    import <Foundation/Foundation.h>

    #import <stdio.h>

    @interface Class1 : NSObject

    {

    }

    -(void)print;

    @end

    @implementation Class1

    -(void)print

    {

    printf("This is Class 1.\n");

    }

    @end

    int main (int argc, const char * argv[]) {

        // insert code here...

    Class1 *c1=[Class1new];

    if ([c1 isKindOfClass: [NSObject class]]==YES) {

    printf("c1 is a kind of NSObject . \n");

    }

        return 0;

    }

    输出结果;

    c1 is a kind of NSObject .

  • 相关阅读:
    48. Rotate Image
    47. Permutations II
    46. Permutations
    45. Jump Game II
    44. Wildcard Matching
    43. Multiply Strings
    42. Trapping Rain Water
    Python_匿名函数
    Python_内置函数之map()
    Python_面向对象_单例模式
  • 原文地址:https://www.cnblogs.com/zhwl/p/2305277.html
Copyright © 2011-2022 走看看