它是Objective-C中常见的习语.
我只看到[[NSImage alloc] initWithContentsOfFile:str]上使用它,它总是让我觉得有内存泄漏,因为我调用了alloc而且口头禅是:"调用alloc,你必须调用release" - 除非它其中一个你不需要的案例.
在初始化对象时指示错误是一种常见的习惯用法.你是对的,但必须释放分配的实例.所以模式就是
- (id)init
{
self = [super init];
if(self != nil) {
//... do init
if(errorInInit) {
[self release];
return nil;
}
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
861 次 |
| 最近记录: |