NYT*_*Tom 3 memory iphone memory-management objective-c alloc
我理解当使用Alloc时,新的或复制你拥有该对象并需要释放该对象.我明白,如果我保留一个我需要释放它的对象.
但是,如果我在方法结束时有以下语句:
return [[UIImage alloc] initWithContentsOfFile:path];
Run Code Online (Sandbox Code Playgroud)
我拥有该UIImage对象因为我分配了内存空间,但我不再引用它,因为它被返回给调用者.在我的dealloc()方法中,我无法释放它,因为我没有参考.
所以我的问题是,这是正确的:
return [[[UIImage alloc] initWithContentsOfFile:path] autorelease];
Run Code Online (Sandbox Code Playgroud)
我相信在这种情况下,调用者可以保留返回的对象,如果他们想要获得所有权并最终需要释放自己.
谢谢你的帮助.
| 归档时间: |
|
| 查看次数: |
228 次 |
| 最近记录: |