То, что вы делаете, правильно. Однако то, что вы делали раньше, было неправильно, потому что
[[NSString alloc] initWithString:url];
сохраняет новую строку, но никогда не освобождается.
Я думаю, вы встроили release
, который вам не нужен, потому что вы пытались избежать утечки памяти раньше.