以下是代码:
-(void)myOwnMethod{
NSString *myString;
myString = [[NSString alloc]init];
/*
Some logic about the String
*/
[myString release]; //Do I need to release the myString Object?
}
如您所见,myString对象仅在方法中使用,是否需要释放它?或者当方法完成时会自动释放?谢谢。
答案 0 :(得分:7)
是的,你需要发布它。如果您致电alloc
,则必须致电release
或autorelease
。
注意:如果您正在使用垃圾收集(目前仅适用于OS X,而不是iOS),则release
和autorelease
不执行任何操作,您无需调用它们。如果您正在编写内存管理代码(包括为iOS编写的任何代码),那么您必须调用它们。
答案 1 :(得分:1)
是。每个alloc
,retain
或copy
的简单规则,您需要release
或autorelease
。
这适用于Objective-C和CoreFoundation对象。