Может ли кто-нибудь помочь мне с кодом ниже?Случайно получить EXC_BAD_ACCESS в этом цикле.Я думаю, что-то не так с [NSString stringWithFormat: ....], но не понимаю, почему и не знаю, как это исправить.Большое спасибо.
for(int i=0;i<row;i++)
{
for(int j=0;j<col;j++)
{
CGRect tileFrame=CGRectMake(i*tileSize, j*tileSize, tileSize, tileSize );
UILabel * t=[[UILabel alloc]initWithFrame:tileFrame];
t.text=[NSString stringWithFormat:@"%i",j*row+i];
///If there is a crashing ,it always stop at here, right after the [NSString stringWithFormat:.....]
t.backgroundColor=[UIColor clearColor];
//NSString * temps=[NSString stringWithFormat:@"%i",j*row+i ];
//t.text=temps;
[myView addSubview:t];
[t release];
}
}
Кстати, я прочитал несколько постов в Интернете, мне сказали сделать это способом, описанным ниже, чтобы решить проблему.Я не уверен в этом, почему нужно сохранять объект автоматического выпуска, когда этот объект все еще находится в своей области видимости.И что более важно, я не должен выпустить объект сохранения где-нибудь?В противном случае произойдет утечка памяти.
замените
t.text=[NSString stringWithFormat:@"%i",j*row+i];
на:
NSString * temps=[NSString stringWithFormat:@"%i",j*row+i ];
[temps retain];
t.text=temps;