Code Bye

请教内存释放问题

 

函数释放问题

-(NSString *)fun1
{

NSString *s=[NSString stringWithFormat:@”%@”,”hello”];
//根据内存管理规则,上一句应该是看作自动释放,那么还需要下一句[s autorelease]吗?
[s autorelease];
return s;
}
另外,NSString *s=@“hello”;这种语句,按照内存管理规则,应该是不用释放s的,不知对不对

20分
不用

20分
autorelease的意思就是自动释放,如果还要加你那句,那就和release没有任何区别了。release一定要和retain,copy等对应。像你说的那种情况,因为没有retain,所以就不要release。建议一定要搞清楚retain,assign,copy等的含义。另外还有synthsize的含义。这对你理解object-c的内存管理很有好处。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明请教内存释放问题