【发布时间】:2011-08-23 15:20:56
【问题描述】:
我一直在测试 Objective -C 的不同特性,并找到了处理内存管理的主题。显然,在阅读了一些文档后,似乎内存管理对于构建功能良好的应用程序来说非常严格。
现在根据我的理解,当我们分配内存时,对象的retainCount 将变为1。然而,我为学习目的而写的东西给了我不正常的retainCount
这对我来说可能是异常的数字,但是知道幕后的人,你能解释一下我是如何得到这个retainCount的吗?最好的释放方法是什么。
retainCount异常的代码,
对象名称是:...(UISlider *) greenSender...
-(IBAction) changeGreen:(UISlider *)greenSender{
showHere.textColor = [UIColor colorWithRed:red.value green:greenSender.value blue:blue.value alpha:1.0];
NSLog(@"retainCount %d",[greenSender retainCount]);
}
在执行我的代码之后有reatainCount。
一个简短的解释会给我一个提示,外部阅读资源将不胜感激。 谢谢
【问题讨论】:
-
绿色发件人来自其他地方。为了弄清楚你的保留计数器来自哪里,我们需要使用该指针的其余部分。
-
对不起,这只是一个 UISlider,参数传递给一个方法,现在是墨尔本凌晨 1:27...道歉。
-
如果我不得不猜测我会说 greenSender 是您 UI 的一部分,因此 UI 组件将引用您的对象,因此保留计数为 8。
标签: iphone objective-c ios memory-management memory-leaks