我在IOS模拟器中遇到了段错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字符串的实例,引用计数是否增加,我不应该发布它吗?
答案 0 :(得分:13)
以下是规则:始终对您的内存管理进行NARC。
如果你打电话:
(N)EW
(A)LLOC
(R)获得或者
(C)opy ...
您需要发布。如果没有,你通过一种方便的方法得到它并且它是自动释放的。
对于其他对象的容器,容器保留了对象,在释放容器之前不需要担心它。
答案 1 :(得分:2)