retaincount相关内容

我释放了多少次分配或保留的对象?

我正在制作一款 iPhone 游戏.我想释放所有已分配或保留的对象.在 dealloc 函数中,我释放了所有这些对象,但后来我意识到有时我最终会在对象尚未分配时释放它们.所以我想我需要在发布它之前检查它的 retainCount 是否大于零. 我的问题是: 我是否只检查 retainCount 是否大于零然后释放它? if([bg retainCount]!=0){[背景发布];} ..

调用 -retainCount 被认为是有害的

或者,为什么我在暑假时没有使用 retainCount 这篇文章旨在征集关于那个臭名昭著的方法 retainCount 的原因和原因的详细文章,以整合围绕 SO 的相关信息.* 基础知识:不使用 retainCount 的官方原因是什么?有没有什么情况根本可能有用?应该怎么做?** 随意编辑. 历史/解释:为什么 Apple 在 NSObject 协议 如果不打算使用它?Appl ..
发布时间:2021-12-02 18:07:13 移动开发

何时使用 -retainCount?

我想知道你目前在什么情况下使用-retainCount,以及最终使用它可能出现的问题. 谢谢. 解决方案 你永远不应该使用 -retainCount,因为它永远不会告诉你任何有用的东西.Foundation 和 AppKit/UIKit 框架的实现是不透明的;您不知道保留了什么、为什么要保留、谁在保留、何时保留等等. 例如: 您会认为 [NSNumber numberWi ..
发布时间:2021-12-02 17:33:15 移动开发

分配后RetainCount是-1吗?

请不要标记“重复": 我已经创建了几行 NSString *str = [[NSString alloc] init]; str = @"Test"; NSLog(@"%d",[str retainCount]); ,输出为-1.请解释. 解决方案 这是我所指出问题的重复.因为您将UINT_MAX打印为有符号整数,所以它为-1. RC为-1,因为它是编译器有效生成的单例字符串,并 ..
发布时间:2020-07-06 00:07:52 其他开发

仅当保留计数达到0时,才如何从NSMutableArray中删除对象?

我知道我不应该检查或使用keepCount,但是我想知道是否有办法仅在其保留计数为0后才将对象从NSMutableArray中移除. 基本上,我想将对象添加到数组,并使这些对象在其他窗口之间共享.当窗口使用它时,我希望保留计数增加1.当它不再使用时,我希望它减少计数.但是,如果某个窗口仍在使用它,那么我希望它可用于所有其他窗口.当所有窗口都不再使用它时,我希望将其从数组中删除并完全释放. ..
发布时间:2020-07-06 00:06:43 移动开发

如何打印对象的保留计数?

我正在尝试使用NSLog在终端中打印出对象的保留计数.这是我的代码: NSNumber *myInt=[[NSNumber alloc] initWithInteger: 100]; NSLog(@"myInt retain count=%d",[myInt retainCount]); 结果应该是1,但是我在终端上得到的是-1.我尝试使用%u而不是%d并最终得到4294967295.有 ..
发布时间:2020-07-06 00:06:38 移动开发

如何找到保留计数?

请向我解释下面的代码行,我很困惑.. Nsstring *a; Nsstring *b; a = [b retain]; &的保留计数是多少b. a = [b copy]; &的保留计数是多少b. 谢谢. 解决方案 从技术上讲,您发布的情况下的保留计数不确定,因为您从未初始化变量.在未初始化的指针上调用retain可能会崩溃. 第二,您的情况下的保留计数取 ..
发布时间:2020-07-06 00:06:34 移动开发

iOS关于retainCount

现在我有一个ClassA : NSObject,然后在viewcontroller viewDidLoad中,查看下面的代码: - (void)viewDidLoad { ClassA *a = [[ClassA alloc] init]; NSLog(@"a retainCount = %d", [a retainCount]); ClassA *b = a; ..
发布时间:2020-07-06 00:06:30 移动开发

为什么要向@"Hi"发送retainCount?返回-1?

方法retainCount应该返回一个无符号整数. 为什么[@"Hi" retainCount]返回-1? 解决方案 简单的答案是,由于@"Hi“是字符串文字,因此它将始终位于二进制可执行映像中,并且永远不会“消失" “,因此保留/释放无效,并且您看到的是UINT_MAX(在打印出带有%d的签名时看起来像-1).(请参阅Pete Kirkham关于具有这些语义的NSObjects的答 ..
发布时间:2020-07-06 00:06:19 移动开发

RetainCount可以在这种情况下使用吗?

RetainCount ==不好 retainCount是禁忌,不可靠,不可预测,通常不应该使用.我不在代码中的任何地方使用它,但是我在一个有趣的方式使用的一个类中看到了它. 我有一个类,它运行一个无限期运行的线程,直到该线程被取消为止.问题是线程增加了所有者的保留数,在我的例子中,是实例化它的类.因此,即使我已经完成了该类的使用,该实例仍然会徘徊,除非管理我的类的人也知道要关闭线程. ..
发布时间:2020-05-19 02:06:00 移动开发

调用方法的方法:自动发布的基础?

当我以为我已经完全理解了这个主题时,我又回到了基础. 我有一个使用(例如)stringWithFormat实例化自动释放对象的方法: return [NSString stringWithFormat:@"what"]; 然后,我从另一个方法和另一个方法调用此方法,每次都在层次结构的每个级别返回此自动释放的NSString.该代码可以正常工作,并且NSString实例在层次结构的每 ..
发布时间:2020-05-08 22:12:35 移动开发

何时使用-retainCount?

我想知道到目前为止您在什么情况下使用过-retainCount,最终想知道使用它会出现的问题. 谢谢. 解决方案 您永远不要使用-retainCount,因为它永远不会告诉您任何有用的信息. Foundation和AppKit/UIKit框架的实现是不透明的.您不知道要保留的内容,为什么要保留它,谁要保留它,何时保留它,等等. 例如: 您会认为[NSNumber numb ..
发布时间:2020-05-08 21:21:39 移动开发

在RxSwift闭包上使用'self'...实例方法作为参数呢?

在其他堆栈溢出问题中,强调捕获[weak self]应该用于不属于该类的闭包,因为self在闭包完成之前可能为nil.当闭包由类本身拥有时的替代方法是[unowned self]. 我的问题是,当我作为参数传递的函数是当前类的实例方法时,我需要使用[unowned self]吗? 示例 import RxSwift class Person { var name = " ..
发布时间:2020-05-08 19:17:47 其他开发

为什么KVO保留了NSMutableArray的所有对象?

我真的很想知道为什么KVO保留了所有观察到的值. 场景:我有一个NSMutableArray带有弱引用. (使用CFArrayCreateMutable和Callback进行设置,保留和释放都为NULL).意味着添加的任何对象都不会保留/释放. 我有一个NSArrayController,它观察NSMutableArray的值. 但是现在,NSMutableArray的每个对象也 ..