NSObject类了解

简介: 今天看一本书,偶然间看到关于继承的那一章。上面有一句话是这么说的:在OC中,允许定义自己的根类,但通常不这么做,而是希望利用现有的类。因此,我们所定义的类都是属于NSObject根类的派生类。

今天看一本书,偶然间看到关于继承的那一章。上面有一句话是这么说的:在OC中,允许定义自己的根类,但通常不这么做,而是希望利用现有的类。因此,我们所定义的类都是属于NSObject根类的派生类。
看到这里,肯定有人说,这不都是废话吗?大家都知道啊!可是,我就想,既然苹果允许自己定义根类,那么怎么定义呢?我尝试用xcode进行定义一个不继承自任何类的基类,并没有成功。subclass那一栏必须选择。
然后,我又想,我自己不能定义基类,那么NSObject是个基类,它是继承自什么呢?于是点开xcode,进入NSObject类中查看究竟。


img_681b09fef4a3b60ae1d8bc363385dd2d.png
image.png

NSObject类没有继承的父类,而是有一个协议,查看这个协议。


img_2c88056d744f3699f1888b8f2dd60aad.png
image.png

才发现,原来经常用的很多方法都是在这里声明的。之前很少关注,突然发现,原来他们在这里,居然有一点点的惊讶的感觉。
先看看NSObject中定义的方法:

  • +(void)load:常用于runtime中方法交换的;
  • -(instancetype)init ; 几乎每天都用的初始化方法;
  • +(instancetype)alloc;几乎每天都用开辟内存空间的方法;
  • -(void)dealloc; 经常使用,检测页面是否销毁。
  • -(id)copy; 浅拷贝
  • -(id)mutableCopy; 深拷贝
  • +(BOOL)conformsToProtocol:(Protocol *)protocol;
  • -(IMP)methodForSelector:(SEL)aSelector;
    ......

原来真是在这里声明的。里面还有很多方法不知道是做什么的,我觉得还是有必要研究一下,这些方法都是干啥用的。

大家没事的时候可以多看看我们常用的类,点进去瞅瞅都有什么方法。我们曾经用过的只是其中很小的一部分,还有很多很多我们从未使用的方法,是否想知道他们都是干啥的。

今天就到这里吧,只是小小的感慨下,突然发现自己还可以这样学习,很开心的一天。

目录
相关文章
|
存储 SQL 人工智能
CCCF专栏 | 加密数据库技术:前沿与展望
本文将从数据安全防护的重大战略需求出发,聚焦数据安全搜索、加密数据库技术等前沿领域,深入探讨加密数据库的发展现状,揭示其设计过程中存在的安全性和性能方面的挑战,并提出未来关于加密数据库建设的一些愿景。
CCCF专栏 | 加密数据库技术:前沿与展望
|
Java Spring NoSQL
Spring Boot 环境变量读取 和 属性对象的绑定
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/catoop/article/details/50548009 凡是被Spring管理的类,实现接口 EnvironmentAware 重写方法 setEnvironment 可以在工程启动时,获取到系统环境变量和application配置文件中的变量。
2556 0
三角函数中的正弦、余弦、正切、余切、正割、余割函数性质及常用公式
三角函数中的正弦、余弦、正切、余切、正割、余割函数性质及常用公式
1237 0
三角函数中的正弦、余弦、正切、余切、正割、余割函数性质及常用公式
|
弹性计算 安全 Java
关于将Web项目部署到阿里云服务器-5个步骤搞定
关于将Web项目部署到阿里云服务器-5个步骤搞定
2553 0
关于将Web项目部署到阿里云服务器-5个步骤搞定
|
安全 API 数据安全/隐私保护
api漏洞系列-通过access_token绕过权限
主要业务逻辑 Zopim仪表板帐户的所有者具有创建代理和禁用代理的能力,当禁用代理时,它限制用户访问他登录到仪表板(这是可以的),但没有使access_token过期。如果access_tokens被重用,我们就可以再次获得对帐户的访问权! 想象一下这样一种情况:所有者创建代理并提供管理访问权,当所有者知道其配置文件时,他只禁用它!但是在这里禁用帐户似乎不安全,帐户可以通过access_token使用。
668 0
解决photoshop按alt卡住情况
出现问题:在win10 1909版本之后,在使用photoshop工具情况下按下alt键会卡住软件。
3354 0
解决photoshop按alt卡住情况
|
运维 算法
分布式选举算法-霸道算法/欺负算法(bully algorithm)
分布式 选举 算法 霸道算法 欺负算法bully algorithm
687 0
分布式选举算法-霸道算法/欺负算法(bully algorithm)
|
弹性计算 负载均衡 网络协议
阿里acp认证所需具备的知识有哪些?阿里云aca证书有效期是多久
为了让我们更好的立足于社会,我们可能需要考取一些证书,才能更好的发展下去,但是有些考取的证书是有时效性的,你们知道阿里云aca证书有效期是多久吗?认证大使的小编这就告诉你们。
534 0
 阿里acp认证所需具备的知识有哪些?阿里云aca证书有效期是多久
|
机器学习/深度学习 人工智能 算法
英特尔AI医疗实战曝光:10倍加速辅助诊断、准确度高达90%
深耕医疗健康领域 20 年,医疗健康数字化、药物治疗精确化一直是英特尔的重要议题。
903 0
英特尔AI医疗实战曝光:10倍加速辅助诊断、准确度高达90%
|
机器学习/深度学习 人工智能 安全
人脸识别技术发展现状及未来发展趋势
人脸识别,通常也称人像识别、面部识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术,主要用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部的一系列相关技术。
人脸识别技术发展现状及未来发展趋势