В первой строке цикла вы объявляете указатель theString
и выделяете объект:
NSString *theString = [[NSString alloc] initWithFormat:@"%i",imageValue];
Во второй строке вы перенаправляете указатель theString
на новую выделенную автоматически выпущенную строку [theString stringByAppendingFormat:@"%i.jpg",i];
, поэтому ранее выделенный объект теряется. Это утечка памяти.
Наконец, вы освобождаете автоматически выпущенную строку [theString release];
, которая освобождает объект и завершает работу приложения, когда цикл автоматического освобождения попытается снова освободить объект.
Приверженность: прочитайте ответ Эдско .