zoukankan      html  css  js  c++  java
  • Object-c 语法

    NSObject常用方法

    • - (BOOL)isKindOfClass:(Class)aClass //判断是否为aClass或者aClass的子类的实例,aClass可以通过[类名 class]获取
    • - (BOOL)isMemberOfClass:(Class)aClass //判断是否为aClass的实例(不包括aClass的子类)
    • - (BOOL)conformsToProtocol:(Protocol)aProtocol //判断对象是否实现了aProtocol协议
    • + (BOOL)instancesRespondToSelector:(SEL)aSelector //判断这个类的对象是否拥有参数提供的方法aSelector
    • - (BOOL)respondsToSelector:(SEL)aSelector //判断对象是否拥有参数提供的方法aSelector
    • - (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay //延迟调用参数提供的方法,方法所需参数用withObject传入

    反射

    •  Class的反射

      通过类名的字符串形式实例化对象

        Class class = NSClassFromString(@"Student");

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

         将类名变成字符串

        Class class = [Student class];

        NSString *className = NSStringFromClass(class);

    •  SEL的反射

        通过方法的字符串形式实例化方法

        SEL selector = NSSelectorFromString(@"setName:");

        [stu performSelector:selector withObject:@"Mike"];

      将方法变成字符串

        NSStringFromSelector(@selector(setName:));

  • 相关阅读:
    仿函数(functor)
    七周七语言
    面向签名编程
    git checkout简介
    .gitkeep常用写法
    PhpStorm terminal无法输入命令的解决方法
    原 在windows上创建文件名以“.”开头的文件
    cmd 里面运行git提示“不是内部或外部命令,也不是可运行的程序”的解决办法
    .gitkeep
    git/github运用
  • 原文地址:https://www.cnblogs.com/ziyeSky/p/4130492.html
Copyright © 2011-2022 走看看