黑马程序员技术交流社区
标题: iOS [打印本页]
作者: 黑马中的小绵羊 时间: 2015-8-21 22:02
标题: iOS
一. 动态类型检测
/**********************对象和类之间的判断***********************/
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];
作者: ljk-tt 时间: 2015-8-21 22:18
创建对象:Person *p=[Person new];默认初始化
new方法内部做了3件事情:
(1)使用alloc方法来分配存储空间(返回分配的对象);
(2)使用init方法来对象进行初始化。
(3)返回对象的内存首地址。
这个理解着有点吃力
作者: 手心的温度 时间: 2015-8-21 22:36
一起进步
作者: lzfree 时间: 2015-8-21 23:49
顶一下~
作者: 企业部-阿狗老师 时间: 2015-8-22 08:29
楼主加油啊!
作者: smilejoke 时间: 2015-8-22 08:42
与君共勉。。加油
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |