黑马程序员-iOS基础-Objective-C基础(六)
来源:互联网 发布:金字塔期货软件骗局 编辑:程序博客网 时间:2024/06/02 20:11
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
初始化
我们可以创建一个初始化方法去给类的实例的成员变量赋初值:
- - (id) init
- {
- if ( self = [super init] )
- {
- [self setCaption:@"Default Caption"];
- [self setPhotographer:@"Default Photographer"];
- }
- return self;
- }
上面的代码感觉没啥好解释的,虽然第二行代码好像看上去没啥用。这个是一个单等于号,就是把[super init]的值赋给了self。
它基本上是在调用父类去实现它的初始化。这个if代码段是设置默认值之前验证初始化是否成功。
释放资源Dealloc
这个dealloc方法是在当一个对象希望被从内容里面删除的时候调用。这个我们释放在子类里面引用成员变量的最好的时机:
- - (void) dealloc
- {
- [caption release];
- [photographer release];
- [super dealloc];
- }
开始两行我们发送了release通知给了两个成员变量。我们不要在这里用autorelease。用标准的release更快一点。
最后一行的[super dealloc];非常重要。我们必须要发送消息去让父类清除它自己。假如不这么做的话,这个对象其实没有被清除干净,存在内存泄露。
dealloc在垃圾回收机制下不会被调用到。取而代之的是,我们需要实现finalize方法。
0 0
- 黑马程序员-iOS基础-Objective-C基础(六)
- 黑马程序员-iOS基础-Objective-C基础(六)内存管理
- 黑马程序员-iOS基础-Objective-C基础(一)
- 黑马程序员-iOS基础-Objective-C基础(一)
- 黑马程序员-iOS基础-Objective-C基础(二)
- 黑马程序员-iOS基础-Objective-C基础(三)
- 黑马程序员-iOS基础-Objective-C基础(四)
- 黑马程序员-iOS基础-Objective-C基础(五)
- 黑马程序员-iOS基础-Objective-C基础(七)
- 黑马程序员-iOS基础-Objective-C基础(八)
- 黑马程序员-iOS基础-Objective-C基础(九)
- 黑马程序员--iOS--Objective-C基础 (一)
- 黑马程序员——ios基础---Objective-C:基础语法
- 黑马程序员-----------Objective-C基础-----------OC基础
- 黑马程序员-iOS基础-Objective-C基础(五)核心语法(下)
- 黑马程序员-iOS基础-Objective-C基础(二)面向对象思想及类
- 黑马程序员-iOS基础-Objective-C基础(四)OC开发技巧及核心语法(上)
- 黑马程序员-iOS基础-Objective-C基础(七)block和protocol
- 可以落地的软件架构
- 耐基梅隆大学教授邢波:Petuum,大数据分布式机器学习平台
- 【Android知识点精讲】(4)Fragment详解(二)
- Maven--创建webProject
- IOS开发笔记之各个版本图标及Launch Image尺寸
- 黑马程序员-iOS基础-Objective-C基础(六)
- Vim的Python编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)
- ar基本用法
- iOS 之Block详解
- Unity碰撞检测。
- 压缩命令
- 解决get传递中文乱码的问题
- 品牌营销新闻宣传网络执行哪家强?
- windowsphone中WebBrowser中的页面按级回退功能