Да.Это здесь:
NSString *tempText = [[NSString alloc] init];//leaked
tempText = [NSString stringWithFormat:@"%i",answer];//creates new autoreleased object
...
[tempText release]; //causes an eventual crash
Вы выделяете NSString
, заменяя переменную на автоматически освобожденную NSString
, а затем освобождая автоматически выпущенную NSString
.Это приведет к утечке памяти (из оригинальной NSString
) и падению из-за чрезмерного выпуска.
Вместо этого просто выполните:
NSString *tempText = [NSString stringWithFormat:@"%i",answer];
Вам не нужно выпускать его.