天天看点

OC基础学习——SEL(选择器类型)和Class的学习

        //1.选择器的创建方法

        //1.1

        SEL set1 = @selector(test1);

        //1.2通过方法的字符串创建,

        SEL set2 = NSSelectorFromString(@"test2");

        //1.3方向操作,获取方法名称

        NSString *str = NSStringFromSelector(set2);

        NSLog(@"%@",str);

        SEL set3 = @selector(test3:);

        Student *stu = [[Student alloc] init];

        //2.判断选择器方式是否在某类中实现

        if([stu respondsToSelector:set3])

        {

            //2.1调用选择器方法(可以传对象,最多能传两个对象)

            [stu performSelector:set3 withObject:[NSNumber numberWithInt:5]];

        }

        else  NSLog(@"我木有被实现,你骗我");

        //_____________Class_______________

        //1.判断某个对象是否是属于某个类

        int  result = [stu isKindOfClass:[Student class]];

        NSLog(@"%d",result);

        //2.获取某个对象的类的名称,返回值为字符串

        NSString *class = NSStringFromClass([stu class]);

        NSLog(@"%@",class);

        //3.(相当于判断某个类是否在该工程中)(Obtains a class by name.)(通过类名获得它的类)如果没有的话则返回nil

        Class class1 = NSClassFromString(@"Student");

        Student *stu1 =[[class1 alloc]init];

        stu1.name = @"yang";

        NSLog(@"%@",stu1.name);

        NSLog(@"%@",class1);

继续阅读