stringwithString
должен возвращать автоматически выпущенный NSMutableString
, но на самом деле он не освобождается до тех пор, пока NSAutoReleasePool
не истечет.Вы используете объект, пока пул все еще удерживает его, и только после этого сливаете пул, освобождая объект.
Когда вы получаете откуда-либо автоматически освобожденный объект, вы должны сохранять его, только если вы намереваетесь отслеживатьобъект за пределами текущей области видимости переменной.Если бы вы сохранили объект, но ваша ссылка должна была выйти из области видимости (как это происходит после завершения текущего вызова функции), вы бы потеряли объект.
То, что вы здесь делаете, на самом деле правильно,поскольку вы не сохраняете ссылку на temp
нигде, кроме своей локальной области.