当我在readDataOfLength:
个实例上调用NSFileHandle
时,是否需要释放返回的NSData
?目前我不是,但我想摆脱这种唠叨的怀疑。
答案 0 :(得分:4)
不。 Cocoa的memory management rules表示您只拥有(因此需要释放)从名称中包含“ new ”,“ alloc ”之一的方法返回的对象, “保留”或“复制”( NARC )。由于该方法不包含任何内容,因此您不需要发布它。
答案 1 :(得分:1)
在Objective C库中非常一致地观察到的标准是以“alloc”或“copy”开头的方法(我想,其他一些模糊的动词)返回一个保留的对象,而其他所有的东西都返回一个自动释放的对象。
任何例外情况都应在规范中详细记录。