O-C中的初始化与关键字
来源:互联网 发布:java垃圾回收机制理解 编辑:程序博客网 时间:2024/06/04 00:51
O-C中有两个关键字可以在方法的实现中代表执行方法的对象:
self:执行方法的对象本身
super:调用对象的父类中的实现来执行方法
self除了可以用作向自身请求方法以外,还可以作为一 个代表对象本身的隐藏变量来使用
super只能出现在消息表达式中,代表了对被复写的方法的原始实现的请求方式
如果初始化方法有可能返回nil,则还需要做检查处理:
id anObject = [[SomeClass alloc] init];
if ( anObject )
[anObject someOtherMessage];
else
...
分配内存并初始化以后,他在内存中的所有位置都被置0。如果这样的结果不是我们想要的,我们需要对对象赋一定的值才能继续进行时。我们就需要自定义初始化。自定义初始化方法时所有方法中要求最多的。
1。自定义初始化方法的命名一般应以“init”开头
2。初始化方法的返回值类型必须是id
3。在自定义初始化方法的实现中,必须有对本类的指定初始化方法的引用
4。在实现中引用其它初始化方法时,注意把返回值赋 给self
5。在对实例变量赋值时,进行直接访问,而不是透过 访问器
6。在实现的最后返回self,如果初始化过程失败,则返 回nil
通常应当在完成对先期初始化结果的检查后才进行外部连接的建立:
- (id)init {
if (self = [super init]) {
creationDate = [[NSDate alloc] init];
}
return self;
}
A
@implementation superclass
-init{
if(self=[super init])
{
return self;
}else{
self release;
return nil;
}
B
-init
{ return [ self initWithname];} //返回本类的init方法
-(id) initWithname:(NSSrrung *)string
if(self=[super init]) // 判断父类中的init方法执行情况
{ name=string;
return self;}
C
-(id)initWithname:
{ return [self initWithname:fromFile]; }
-(id)initWithname:(NSString)...fromFile
if (self=[super initWithname])
{...
return self;}
TheDesignatedInitializer
指定初始化方法 (Designated Initializer)。指定初始化方法即指被指定进行从父类继承的实例变量的初始化的初始化方法 。上例B中的initWithName方法就是指定初始化。
- O-C中的初始化与关键字
- C与C++中的关键字
- O-C相关-07-@property关键字简介与使用
- 解析C与C++中的关键字const
- uio.c 中的初始化
- C语言中的关键字
- C语言中的关键字
- C语言中的关键字
- C中的volatile关键字
- C语言中的关键字
- C语言中的关键字
- C语言中的关键字
- C 中的static关键字
- C中的volatile关键字
- C语言中的关键字
- C语言中的关键字
- C语言中的关键字
- C语言中的关键字
- bash: crontab: command not found
- Linux设置定时任务
- java类加载器
- ASP.NET 乱码问题
- java学习基础
- O-C中的初始化与关键字
- 数据结构与算法实验题 11.3 最小权语言问题
- win7 关闭休眠的方法 powercfg -h off
- 不使用itoa或sprintf等系统函数完成整型向字符串的转换
- C语言中控制printf的打印颜色实例及vt100的控制符文档
- 视频文件收藏
- Ubuntu 13.04 中文字体设置
- DM6437下裸定时器在CC5.4下开发的疑问现象解决
- LeetCode Valid Parentheses判断括号是否配对