A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马中的小绵羊 中级黑马   /  2015-8-21 22:02  /  631 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一. 动态类型检测
/**********************对象和类之间的判断***********************/
1、isKindOfClass:Class
判断实例对象是否是这个类或者这个类的子类的实
例。

2、isMemberOfClass:Class
判断对象是否是这个类的实例。


/**********************类和类之间的判断*******************/
3、+(BOOL) isSubclassOfClass:classObj
判断类是否是指定类的子类。
格式: [类A isSubclassOfClass:类B];
判断类A是否是类B的子类;  是 YES   不是 NO



/**********************对象和方法之间的判断*******************/
4、- (BOOL)respondsToSelector:(SEL)aSelector;   用的比较多;
判断对象是否可以调用这个方法;

5、+ (BOOL)instancesRespondToSelector:(SEL)aSelector;
判断类是否有这个方法。此方法是类方法, 不能用在类的对象

/**********************方法的执行*******************/
6,响应方法
-(id) performSelector:selector(应用selector指定的方法) NSObject的方法
// 一个参数
-(id) performSelector:selector withObject:object(应用selector指定的方法,传递参数 object)
// 二个参数
-(id) performSelector:selector withObject:object1 withObject:object2(应用selector指 定的方法,传递参数object1和object2)



二, 构造方法
    1,什么是构造方法:
        用来初始化对象的就是构造方法;是个对象方法,- 开头

    2,创建对象:Person *p=[Person new];默认初始化
        new方法内部做了3件事情:
        (1)使用alloc方法来分配存储空间(返回分配的对象);
        (2)使用init方法来对象进行初始化。
        (3)返回对象的内存首地址。

    可以把new方法拆开如下:
        (1).调用类方法alloc分配存储空间,返回未经初始化的对象
            Person *p1=[Person alloc];
        (2).调用对象方法init进行初始化,返回对象本身
            Person *p2=[p1 init];
        (3).以上两个过程整合为一句:
            Person *p=[[Person alloc] init];


5 个回复

倒序浏览
创建对象:Person *p=[Person new];默认初始化

        new方法内部做了3件事情:

        (1)使用alloc方法来分配存储空间(返回分配的对象);

        (2)使用init方法来对象进行初始化。

        (3)返回对象的内存首地址。
这个理解着有点吃力
回复 使用道具 举报
一起进步
回复 使用道具 举报
顶一下~
回复 使用道具 举报
楼主加油啊!
回复 使用道具 举报
与君共勉。。加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马