本文介绍: 文章目录1.isntance(实例对象)在这里插入图片描述2. class(类对象)3.meta–class(元类对象)4.注意5. objc_getClass & object_getclass1.isntance(实例对象)2. class(类对象)3.meta–class(元类对象)4.注意以下代码获取的objcetClass是class对象,并不是meta–class对象Class objectClass = [[NSObject class] class];//获取
OC中有3种对象,分别是1.实例对象,2.类对象,3.元类对象
1.instance(实例对象)
里面存放了isa以及具体的值.isa的地址也就是这个对象的地址.
2. class(类对象)
3.meta-class(元类对象)
4.注意
以下代码获取的objcetClass是class对象,并不是meta-class对象
Class objectClass = [[NSObject class] class];
//获取的一直是类对象.
- -(Class)class、+(Class)class;
返回的就是类对象
- (Class) {
return self->isa;
}
+ (Class) {
return self;
}
5. objc_getClass & object_getclass
// objc_getClass(<#const char * _Nonnull name#>)
// NSString *className = @"MyClassName";
// Class myClass = objc_getClass(className.UTF8String);
Class className1 = objc_getClass("NSObject");
NSLog(@"%@ -- %@ -- %@",className1,[NSObject class],object_getClass([NSObject class]));
// NSObject -- NSObject -- NSObject
1.传入的obj可能是instance对象,class对象,meta-class对象
2.返回值
a. 如果是instance对象,返回class对象
b. 如果是class,返回meta-class对象
c. 如果是meta-class对象,返回NSObject(基类)的meta-class对象
原文地址:https://blog.csdn.net/squallmouse/article/details/123044656
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_44660.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。