如何在iPhone/iPad的应用程序中正确保留和释放使用
问题描述:
我是Objective-C iPhone/iPad编程的新手。如何在iPhone/iPad的应用程序中正确保留和释放使用
我有通过释放或保留对象的内存管理问题。 我正在做一个包含多个视图控制器切换视图的应用程序。
最使用的对象被声明为IBOutlets,我想知道如何以及何时应该使用的保留和释放不具有记忆问题和结束观察正确的应用。
这将是有趣对我来说,切换到另一个视图控制器或whem我没有使用次数多的对象时释放它们。
有人可以解释我如何以及何时必须使用保留和释放?我已经阅读了Apple的文档,但我认为这有点令人困惑。我必须在dealloc或didReceiveMemoryWarning中放置它,但不能解决我的问题。
如果我拼写错误,我很抱歉。 非常感谢。
答
在项目运行与仪器仪表工具或简单的运行按shift +指令+ A在Xcode应用程序应用发现泄漏。
您使用的alloc和init每个对象应释放其他它会导致内存泄漏。 声明.h文件中的每个对象并设置该属性并在dealloc方法中释放该obj。如果你具有u从页面左边后保留目前的状态
固定仅需要。
答
如果您将copy
mutablecopy
retain
或alloc
发送给对象,那么当您完成该操作时,您有责任释放该对象。
NSString *allocedString = [[NSString alloc] initWithString:@"world"];
NSString *myString = [NSString stringWithFormat:@"Hello%@", allocedString];
[allocedString release], allocedString = nil;
你是负责释放allocedString
但不myString
(使用autorelease
inernally)
短暂但很好的解释和理解,谢谢!我会试着看看它是如何工作的。 – karse23 2011-02-01 09:59:21