iphone - 返回后释放对象吗?

标签 iphone objective-c

假设我在方法的 return 语句之前初始化了一个对象...

MyObj* myObj = [[MyObj alloc] initWithOpt1:opt1 withOpt2:opt2];
return myObj;

是否可以在 return 语句之后释放它?在这之前这样做就违背了初始化它的初衷,对吗?否则,处理这个问题的最佳方法是什么?

最佳答案

Autorelease 正是为了解决这个问题而创建的。

MyObj* myObj = [[MyObj alloc] initWithOpt1:opt1 withOpt2:opt2];
return [myObj autorelease];

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmAutoreleasePools.html

关于iphone - 返回后释放对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7575360/

相关文章:

iphone - 在 Cocoa Touch 中循环播放声音文件

ios - 如何更改 iPhone 部署目标

objective-c - 如何设置 NSTabView 的背景颜色?

ios - 获取由 UIView 的 animateWithDuration 创建的动画的引用或通过任何其他方式识别它

objective-c - XCode 8 - 如何解决 XCode 8.0 版的自动调整大小问题?

ios - UIImage 上的类别返回一个空白的 UIImage?

ios - 如何快速提高 ClCircularRegion 中半径的精度?

iphone - 要在 ios 中显示 map ,我们应该使用 ArcGIS Apis 还是 Google Map API?

objective-c - 如何使用 Accelerate Framework 将 iOS 相机图像转换为灰度图像?

ios - NSNumber numberFromString 不放置小数