NSObject中的常用方法

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

  -(BOOL) respondsToSelector: 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;应用于类来释放对象实例变量并释放动态内存
  /*
  用于判断对象是不是参数提供的类型(参数可以是父类的class)
  */
  - (BOOL)isKindOfClass:(Class)aClass;
  /*
  用于判断对象是不是参数提供的类型(参数不可以是父类的class)
  */
  - (BOOL)isMemberOfClass:(Class)aClass;
  /*
  判断对象是否为指定类的子类
  */
  + (BOOL)isSubclassOfClass:(Class)aClass;
  /*
  用于判断对象是否遵守了参数提供的协议
  */
  - (BOOL)conformsToProtocol:(Protocol *)aProtocol;
  /*
  用于判断对象是否拥有参数提供的方法
  */
  - (BOOL)respondsToSelector:(SEL)aSelector;
  /*
  用于判断调用者的实例对象是否拥有提供的方法
  */
  + (BOOL)instancesRespondToSelector:(SEL)aSelector;
  /*
  延迟调用参数提供的方法,参数所需参数用withObject传入
  */
  - (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)
  delay;

你可能感兴趣的:(NSObject中的常用方法)