zoukankan      html  css  js  c++  java
  • NSObject常用方法和反射

    // 类的反射
        NSString *str = @"Person";
        Class class = NSClassFromString(str);
        
        Person *person = [[class alloc] init];
        NSLog(@"%@", person);
       

    // Class变成字符串
        NSString *name =  NSStringFromClass([Person class]);
        
        
    // 方法的反射
        NSString *method = @"test";
        SEL selector = NSSelectorFromString(method);
        [person performSelector:selector];
        
    // 将SEL转换为字符串
        NSString *selectorName = NSStringFromSelector(selector);

    常用方法:

    -(BOOL) isKindOfClass: classObj 用来判断一个类是否属于某个类或其子类的类;


    -(BOOL) isMemberOfClass: classObj 用来判断是否是某个类的,与isKindOfClass方法的区别是:isMemberOfClass方法不能判断其子类子类;

    + (BOOL)isSubclassOfClass:(Class)aClass; 判断对象是否是指定类的子类

    -(BOOL) respondsToSelector: selector 用来判断对象中是否实现了某个方法(被封装在一个selector的对象里传递)

    +(BOOL) instancesRespondToSelector: selector 用来判断对象中是否实现了某个方法. 和上面一个不同之处在于, 前面这个方法可以用在实例上,而此方法用在类上.
    -(id) performSelector: selector
    - (id)performSelector:(SEL)aSelector withObject:(id)object;
       - (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object2;
    调用对象中的方法,一个无参,一个参数,两个参数


    - (BOOL)conformsToProtocol:(Protocol *)aProtocol; 判断对象是否实现了某个协议


    + (BOOL)conformsToProtocol:(Protocol *)protocol;同上,区别:静态 和 非静态


    - (NSString *)description; 允许一个对象返回一个字符串来描述它的内容;相当于java中的toString方法


    - (NSString *)debugDescription;  同上,用于调试

     + (Class)superclass; 返回超类对象
         + (Class)class;返回类对象
         + (void)load; 初始化加载
         + (void)initialize; 初始化对象
         - (id)init; 初始化对象,分配内存


    + (id)new;  分配一个新的接收类实例,并将它发送一个init消息,并返回初始化的对象。


    + (id)allocWithZone:(NSZone *)zone;在内存中为一个对象分配了内存空间并且设置它指向的对象的编译器类定义,返回该实例。


    + (id)alloc;在内存中为一个对象分配了内存空间并且设置它指向的对象的编译器类定义,返回该实例。


    - (void)dealloc;应用于类来释放对象实例变量并释放动态内存

    转载:http://blog.csdn.net/daiyelang/article/details/18731697

  • 相关阅读:
    ARM裸机开发(二)中断编程
    Linux汇编与C互相调用
    Java 2009
    MFC对Socket编程的支持
    Thinkpad
    IE9
    ASP.NET MVC学习教材
    sysprep.exe修改SID
    查询显示进度条
    MOSS2007中型服务场管理 教材<02>: SubSite Backup & Restore
  • 原文地址:https://www.cnblogs.com/sunjianfei/p/6610778.html
Copyright © 2011-2022 走看看