借鉴下面作者的文章:[CH2-Q1]Objective-C的对象——实例对象、类对象、元类对象
思考:objc_getClass,object_getClas,class的区别
1.Class objc_getClass(const char *aClassName)
objc_getClass("NSObject");
1> 传入字符串类名
2> 返回对应的类对象
2.Class object_getClass(id obj)
object_getClass([NSObject class])
1> 传入的obj可能是instance对象、class对象、meta-class对象
2> 返回值
a) 如果是instance对象,返回class对象
b) 如果是class对象,返回meta-class对象
c) 如果是meta-class对象,返回NSObject(基类)的meta-class对象
3.- (Class)class、+ (Class)class
1> 返回的就是类对象
- (Class) {
return self->isa;
}
+ (Class) {
return self;
}
网友评论