天天看點

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);

繼續閱讀