Objective-C - NSObject常用方法

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;

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-04 20:03:34

Objective-C - NSObject常用方法的相关文章

NSObject常用方法和反射

NSObject常用方法 - (BOOL)isKindOfClass:(Class)aClass //判断是否为aClass或者aClass的子类的实例,aClass可以通过[类名 class]获取 - (BOOL)isMemberOfClass:(Class)aClass //判断是否为aClass的实例(不包括aClass的子类) - (BOOL)conformsToProtocol:(Protocol)aProtocol //判断对象是否实现了aProtocol协议 + (BOOL)ins

iOS-OC-基础-NSObject常用方法

1 Person *person1 = [[Person alloc]init]; 2 Person *person2 = [[Person alloc]init]; 3 4 // 可以调用类中的私有方法,但是会有一个警告 5 [person1 performSelector:@selector(actionTow)]; 6 [person1 performSelector:@selector(actionOne:) withObject:@"test"]; 7 8 NSLog(@&q

NSNumber、NSValue、NSDate、NSObject

注:OC中数组和字典只能存储OC对象不能存放基本数据类型. NSNumber NSNumber可以用来把一个基本数据类型包装成一个NSNumber类型的对象. NSNumber *number = [NSNumber numberWithInt:10]; // 将int类型的10 包装成一个NSNumber对象. NSLog(@"number=%@", number);//NSNumber类型对象可以当作字符串直接输出. NSMutableArray *array = [NSMutab

OC常用数据类型大全解

UI基础 OC常用数据类型 Block Block封装了一段代码,可以在任何时候执行 Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值.它和传统的函数指针很类似,但是有区别:block是inline(内联函数)的,并且默认情况下它对局部变量是只读的 苹果官方建议尽量多用block.在多线程.异步任务.集合遍历.集合排序.动画转场用的很多 Blocks的定义 Blocks的定义: int (^MySum)(int, int) = ^(int a, int b) { re

ios 反射机制

// Created  By   郭仔  2015年04月11日17:13:22 NSObject常用方法: ======================================================================= OC反射机制:

ObjectC----NSObject常用方法和OC反射机制

NSObject常用方法: ======================================================================= OC反射机制:

Objective C (iOS) for Qt C++ Developers(iOS开发,Qt开发人员需要了解什么?)

Qt/C++开发人员眼中的Obj-C 对于我们第一次自己定义iOS应用来说,对于来自Qt/C++开发人员来说,我不得不学习Objective-C相关语法与知识 为了让读者可以更easy理解这篇博客的内容,我将描写叙述诸多我所学到的东西.这将很多其它的是大脑转存而不是单一的教程 ,所以我仍然希望这将对你非常有帮助,我将首先写编程语言的差异,然后再写关于类库的差异 1.Objective C vs C vs C++ 类似于C++,Obj-c是C语言的一个超集(这不是100%正确的,可是一个足够好的语

Objective C笔记(第一天)

• OC语言概述 1.早在20世纪80年代早期,Bard Cox发明了Objective C, 是扩充的C,面向对象的编程语言. 2.NEXTSTEP简称NS a.1985年,Steve Jobs成?立了NeXT公司. b.1988年,NeXT SoftWare公司获得了OC的语言授权, NEXTSTEP环境成为了苹果操作系统,创建的开发包.MACOS c.1996年,12月20?日,苹果公司宣布收购了NeXT software公司,NEXTSTEP环境为apple公司下主要开发.发?行操作系统

Objective - C 中的KVC(一)(视图、便携、易懂、原创纯手打 定制版)

KVC的使用 1.KVC 全称 key valued coding 键值编码 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性.JAVA,C#都有这个机制.ObjC也有,所以你根部不必进行任何操作就可以进行属性的动态读写,就是KVC. KVC的操作方法由NSKeyValueCoding提供,而他是NSObject的类别,也就是说ObjC中几乎所有的对象都支持KVC操作. 2.常用方法 获取值的方法 valueForKey