2012-06-13 52 views

回答

4

没有,和文档是这么说的很清楚:

返回的C字符串是保证有效期至任何接收器被释放,或直到当前autorelease池被清空,以先到为准。如果需要在此时间之后存储C字符串,则应复制C字符串或使用getCString:maxLength:encoding:

+0

“直到接收器被释放”是什么意思?我不确定我在这里理解术语“接收器”。它是否谈论当前的实例? – rid

+2

receiver是消息发送到的对象 - 所以在这种情况下MSString实例 – Mark

0

我认为cStringUsingEncoding为已转换的字符串分配内存以指定编码因此,如果您没有使用自动释放池,则永远不会释放此内存。

相关问题