And*_*son 2 iphone cocoa-touch objective-c ios
我经常看到这个"if(self = [super init])"构造,我想知道它为什么会这样做.
- (id) init {
if (self = [super init]) {
// how could self = [super init]; ever fail?
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
想象一下你的超类做到了这一点:
- (id)init {
self = [super init];
if (self) {
self->foo = CreateExpensiveWidgetOverTheInternetByTrain();
if (!self->foo) {
// widget creation failed, bail out
[self release];
self = nil;
}
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
这就是如何.;)
| 归档时间: |
|
| 查看次数: |
292 次 |
| 最近记录: |