Vazamentos de memória - Formatando uma string para exibir a hora, a cada segundo

Ei pessoal. Eu tenho um método que é chamado a cada segundo que eu quero usar para exibir o tempo que meu aplicativo vem fazendo é trabalho. Atualmente a classe que estou usando (Que eu não criei) tem uma propriedade chamadaprogress que armazena o número total de segundos.

Eu já escrevialgum código que leva esses segundos e os formata em uma string legível. Eu sou novo nisso, então me perdoe se não é o melhor código. Saúdo todas as sugestões:

<code>// hours, minutes, and seconds are instance variables defined as integers
int totalSeconds = (int)streamer.progress;

hours = totalSeconds / (60 * 60);

if (hours > 0)
    formattedTimeString = [NSString stringWithFormat:@"%d:", hours]; // WRONG

minutes = (totalSeconds / 60) % 60;
seconds = totalSeconds % 60;
[formattedTimeString stringByAppendingFormat:@"%d:%d", minutes, seconds]; // WRONG
</code>

Basicamente, quero que apareça como "3:35", por exemplo, para mostrar 3 minutos e 35 segundos. Eu só quero mostrar a seção de hora, se tiver sido uma hora, caso em que seria "2: 3: 35" por exemplo (Alguém pode recomendar uma maneira melhor de formatar isso?).

O problema Eu estou tendo é onde eu realmente criar / definir a string (As linhas marcadas como WRONG). Como isso está sendo feito a cada segundo, eu obteria um vazamento facilmente se continuasse pedindo por um novo objeto de string. Eu acho que posso resolver isso liberando o foramttedTimeString no final do método, mas esta é a maneira correta de conseguir isso? Será que umNSMutableString ajudar de alguma forma? Existe uma maneira melhor, Cocoa de fazer isso? Eu já perguntei em#iphonedev @ freenode e eles disseram que eu teria que escrever esse método, mas eu pensei em perguntar novamente.

Para fornecer contexto: este é um aplicativo de streaming de rádio na Internet (Eu sei que já tem muitos, mas eu estou apenas praticando). Quero poder mostrar a quantidade de tempo que o fluxo está sendo reproduzido.

Desculpe se essa pergunta é estúpida, heh, como eu disse, eu sou novo nisso.

questionAnswers(4)

yourAnswerToTheQuestion