ste*_*vex 2 memory-leaks memory-management objective-c
这是情况.假设我有一个名为MYFoo的课程.这是初始化程序:
-init
{
self = [super init];
if (self)
{
// during initialization, something goes wrong and an exception is raised
[NSException raise ...];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
现在我想在其他地方使用MYFoo对象,所以我使用了一个常见的模式:
MYFoo *foo = [[[MYFoo alloc] init] autorelease];
Run Code Online (Sandbox Code Playgroud)
但是会发生什么,即使第二部分有一个try/catch,一个MYFoo对象将被分配,异常将被抛出,自动释放错过,未初始化的MYFoo对象将泄漏.
这里应该发生什么来防止这种泄漏?
| 归档时间: |
|
| 查看次数: |
734 次 |
| 最近记录: |