我在IOS Simulator中遇到了segfault 11内存访问错误,但是当我在下面的代码中注释掉该版本时,该错误消失了。

// get get the question number
NSString *text = [attributeDict valueForKey:XML_TAG_QUESTION_ATTRIBUTE_NUMBER];
question.number = [text intValue];
//[text release]; <==== no more segfault 11 when this is commented out.

我的问题是,由于我收到了NSXMLParser实现返回的NS String实例,因此引用计数是否增加了,我是否应该释放它?

最佳答案

这是规则:始终在内存管理上使用NARC。

如果您致电:
(新
(A)lloc
(R)tain或
(复制...

您需要释放。如果没有,您可以通过一种便捷方法获得它,并且它会自动发布。

对于其他对象的容器,该容器保留了对象,在释放容器之前,您不必担心。

关于ios - 是否应释放此值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5122786/

10-14 15:18
查看更多