Objective-C中,重写init方法为什么要self = [super init]
来源:互联网 发布:建筑设计平面图软件 编辑:程序博客网 时间:2024/05/18 01:12
if(self == [super init]) {
//初始化代码
}
我们需要知道面向对象继承的概念,一个子类从父类继承,获得相关的属性和方法,所以在子类的初始化方法中,必须首先调用父类的初始化方法,以实现父类相关资源的初始化。
网上有网友总结的很好:
1.[super init]的作用:
面向对象的体现,先利用父类的init方法为子类实例的父类部分属性初始化。
2.self 为什么要赋值为[super init]:
简单来说是为了防止父类的初始化方法release掉了self指向的空间并重新alloc了一块空间。这时的话,[super init]可能alloc失败,这时就不再执行if中的语句。
0 0
- Objective-C中,重写init方法为什么要self = [super init]?
- Objective-C中,重写init方法为什么要self = [super init]
- Objective-C中init函数实现的相关研究 if ((self = [super init]) != nil)
- Objective-C中init函数实现的相关研究 if ((self = [super init]) != nil)
- Objective-C中init函数实现的相关研究 if ((self = [super init]) != nil)
- Objective-C中init函数(self=[super init])实现的相关研究
- Objective-C初始化对象的时候为什么总是有一句:if (self = [super init])
- Objective-C语言的 if ( self = [super init] )
- Objective-C语言的 if ( self = [super init] )
- self = [super init]
- self = [super init]
- self = [super init]
- self = [super init]
- self = [super init]
- self = [super init]
- Object-C self = [super init]
- iOS self 和 super区别以及为什么要self = [super init];
- Objective-C语言的 if ( self = [super init] )什么意思?
- Jquery 清空表单,注意是清空不是重置,注意是清空不是重置,注意是清空不是重置,重要的事情说三遍
- 关于UIImageView的显示问题
- 网络编程--自定义浏览器
- 集合排序aA-zZ
- WindowManager.LayoutParams:(二:softInputMode)
- Objective-C中,重写init方法为什么要self = [super init]
- Ehcache对并发的支持
- 棋盘覆盖问题
- leetcode count prime
- 网络编程--URL,URLConnection
- Js获取当前日期时间及其它操作
- android应用启动流程
- 开放有限元分析计算平台介绍
- C++双冒号(::)的用法