Objective c initWithNibName之后的额外保留计数

Objective c initWithNibName之后的额外保留计数,objective-c,cocoa,Objective C,Cocoa,在使用NIB调用init后,我有额外的保留计数。 这是什么原因造成的?(nib中没有参考插座) 上述结果导致保留计数为3 感谢您提供有关如何排除故障的建议,您必须查看源代码或API文档才能找到答案。但是看起来很合乎逻辑,导航控制器有一个,而从xib加载的视图有一个,所以我猜这可能是导航控制器中的另一个操作 您必须查看源代码或API文档才能找到答案。但是看起来很合乎逻辑,导航控制器有一个,而从xib加载的视图有一个,所以我猜这可能是导航控制器中的另一个操作 您正在排除哪些故障?这里没有什么问题-重

在使用NIB调用init后,我有额外的保留计数。 这是什么原因造成的?(nib中没有参考插座)

上述结果导致保留计数为3


感谢您提供有关如何排除故障的建议,您必须查看源代码或API文档才能找到答案。但是看起来很合乎逻辑,导航控制器有一个,而从xib加载的视图有一个,所以我猜这可能是导航控制器中的另一个操作

您必须查看源代码或API文档才能找到答案。但是看起来很合乎逻辑,导航控制器有一个,而从xib加载的视图有一个,所以我猜这可能是导航控制器中的另一个操作

您正在排除哪些故障?这里没有什么问题-重新记帐不是你的事,它几乎不告诉你有关系统的任何信息。每一个自动释放的对象都会有一个明显的重计数,比你想象的要高。如果内部对象对此对象感兴趣,它们将拥有自己的保留,这可能是您所期望的,也可能不是您所期望的

您的业务是平衡您自己的保留和释放。系统的其余部分负责平衡它们之间的关系。你不应该再猜了,如果你真的猜到了,-重新计算不太可能对你有多大帮助。它几乎总是误导而不是帮助


是否确实存在您担心的泄漏?

您正在排除哪些故障?这里没有什么问题-重新记帐不是你的事,它几乎不告诉你有关系统的任何信息。每一个自动释放的对象都会有一个明显的重计数,比你想象的要高。如果内部对象对此对象感兴趣,它们将拥有自己的保留,这可能是您所期望的,也可能不是您所期望的

您的业务是平衡您自己的保留和释放。系统的其余部分负责平衡它们之间的关系。你不应该再猜了,如果你真的猜到了,-重新计算不太可能对你有多大帮助。它几乎总是误导而不是帮助


实际上是否存在您所担心的泄漏?

澄清一下-initWithNibName之后的保留计数为1,pushViewController之后的保留计数为4。。。有什么想法吗?澄清一下-initWithNibName后的保留计数为1,pushViewController后的保留计数为4。。。任何想法?+100
retainCount
都应该从Cocoa框架中删除。看着它,想知道发生了什么,除了悲伤什么都不会引起。忘记它的存在,你的生活会更简单。罗伯-你是对的-我正在解决一个我引起的保留计数问题…没有重申它是好的保留计数高于预期。解决了我的问题后,一切正常。顺便说一句-问题是由于另一个拥有的对象使用retain而不是assign…设置了属性而导致的。。。。感谢您的帮助+100
retainCount
应该从Cocoa框架中删除。看着它,想知道发生了什么,除了悲伤什么都不会引起。忘记它的存在,你的生活会更简单。罗伯-你是对的-我正在解决一个我引起的保留计数问题…没有重申它是好的保留计数高于预期。解决了我的问题后,一切正常。顺便说一句-问题是由于另一个拥有的对象使用retain而不是assign…设置了属性而导致的。。。。谢谢你的帮助
StepViewController *stepViewController = [[StepViewController alloc] initWithNibName:@"StepViewController" bundle:nil];
[self.navigationController pushViewController:stepViewController animated:YES];
[stepViewController release];
NSLog(@"nextStep stepViewController retain count %i", [stepViewController retainCount]);