问题标签 [retaincount]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - addSubview 增量保留计数吗?
我已经对其进行了测试,看起来确实如此。所以我的问题是,它是否总是增加保留计数。
所以每次我做这样的事情:
我真的在泄漏内存吗?
我有一个全局属性,我用这段代码@property (nonatomic, retain) UILabel *ingredientsTextLabel;
实例化了它:viewDidLoad
我只是命名了属性,在我的标题中没有属性,所以没有 getter 和 setter。在我的viewDidLoad
:
现在我认为这会起作用,然后在 dealloc 中我可以释放ingredientsTextLabel
,但保留计数是 2,所以我还需要在 addSubview 之后释放 i吗?我没有意识到会发生这种情况!:(
objective-c - retainCount 增加或减少的条件
我读过对象保留计数,并且当我们分配第二个值(或对象)时它可以增加。
谁能给我一个关于 retainCount 增加或减少的基本条件的想法(没有 retain , alloc 和 release)......
iphone - 我在同一函数中只有一个分配的对象有五个分配
我正在编写一个仅在 popOver 中显示菜单(由 tableView 组成)的函数。
这是源代码:
//此时retain count为1
我遇到的问题是用于加载 tableview 的内存永远不会被释放。我的应用程序在内存中不断增长,直到崩溃。
为什么如果我只为 searchNav 分配一次,在将其分配给 popOver 后,retin 计数为 5?
请问有什么帮助吗?
iphone - Objective-c - 当我将视图更改为零时保留计数
我在一个视图控制器中声明了一个 UIImage 和一个 UIImage 视图,如下所示:
在 .h 文件中:
在 .m 文件中:
在另一个视图中,我设置了它的值:
在该方法中,itemImageView 的保留计数为 2。
但是当我回到放置属性和合成的视图时,保留计数为 0,我无法访问该对象。
知道发生了什么吗?
iphone - 实例变量不可访问
这里有严重的问题......如果我尝试 NSLog 我的自定义对象的实例变量,我会得到 ECX_BAD_ACCESS。在我的 ViewController 中调用以下函数,payload
保存从 url 中提取的字符串数据。
到现在为止还挺好。initWithWithVCard 函数如下,theVCard
在theVCardN
@implementation 中定义,在(.h) 中也设置为@property (nonatomic, retain):
如果我theVCardN
在我的 ViewControlleraVCardViewController
中访问对象,那么ViewDidLoad
一切都会像魅力一样。我用该对象的数据设置了一些标签。
如果然后我尝试theVCardN
从连接到 View 中的按钮的 IBAction 调用的函数中访问实例变量,我会在调试器控制台上收到 EXC_BAD_ACCESS 错误。尝试从实例变量中提取数据的函数如下:
调用 NSLog 之前的 RetainCountertheVCardN
输出“1”。然后 NSLog 行在调试器控制台中返回 EXC_BAD_ACCESS。
任何的想法 ?
iphone - copyWithZone 返回值所有权和保留计数
我在苹果文档中读到了 copyWithZone :
“返回的对象由负责释放它的发送者隐式保留”。
所以如果我写这个:
我打电话给:
会obj
保留吗?如果我不设置自动释放,保留计数怎么办?
objective-c - 何时使用 -retainCount?
我想知道-retainCount
到目前为止您在什么情况下使用,以及最终使用它可能发生的问题。
谢谢。
iphone - 为什么保留计数如此之高?内存管理
我一直在回顾我的应用程序,试图处理所有内存问题并阅读内存管理。我开始使用 [object retainCount] 来跟踪我的内存分配。这是值得信任的,因为我一直发现计数真的很奇怪吗?
有人可以解释以下内容:
请记住,应用程序委托和空的 mainViewController 没有区别。initWithRootViewController 导致计数上升,但我没有看到另一种添加方法....
这是日志~
2011-01-17 19:47:21.278 ANA[5653:207] 3
2011-01-17 19:47:21.282 ANA[5653:207] 4
2011-01-17 19:47:21.286 ANA[5653:207] 7
2011-01-17 19:47:21.287 ANA[5653:207] 12
2011-01-17 19:47:21.301 ANA[5653:207] Load View
我不明白为什么更改这些属性或引用 navigationController 会导致保留计数激增。
我在没有自动释放和手动释放的情况下完成了它,但结果是一样的。基本上我不明白,想知道retainCount命令是否可靠,因为如果我不能理解这一点,我认为我无法在其他地方调试任何内存问题......
iphone - 添加没有navigationController的子视图时正确释放ViewController
将 ViewController.view 添加为不在导航控制器上的子视图时,我经常遇到的问题是无法正确创建和销毁 ViewController。
例如:
如果它是一个无控制器视图并且没有用户必须与之交互的 UIControls,那效果很好。但是向该视图的视图控制器发送消息会导致EXEC_BAD_ACCESS因为它们不再在内存中。
这在发送消息时有效,但它是内存泄漏并被静态分析器捕获。
将其设置为当前视图控制器的属性有时会起作用。但是,如果我需要创建一个数量未知的 MyViewController 并将它们添加到 UIScrollView 之类的东西中,那也行不通。
如果 myTmpViewController 有用户交互或类似的东西,仍然会崩溃。如何添加它并正确释放它?
objective-c - 尽管故意过度释放,对象的保留计数从未低于 1
我正在检查某些对象的保留计数
似乎我能得到的最低值是“r = 1”,即使我故意添加额外的“释放”调用
即使我尝试将“release”和“NSLog”测试代码放在对象的 dealloc
方法中,“r = 1”限制仍然有效。
Cocoa 运行时似乎忽略了我在“r = 1”之前的额外版本,然后在示例程序的最后(没有 GC)以“EXC_BAD_ACCESS”崩溃。
我唯一的解释(猜测)是我们需要 r >= 1 才能访问对象。并且 Cocoa 运行时只是试图避免让任何对象的保留计数过早地变为 0。
如果我错了,有人可以确认或纠正我吗?