EXC_BAD_ACCESS в задаче c - PullRequest
       43

EXC_BAD_ACCESS в задаче c

0 голосов
/ 23 марта 2012

Может ли кто-нибудь помочь мне с кодом ниже?Случайно получить 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;      

Ответы [ 2 ]

0 голосов
/ 23 марта 2012

Эта ошибка связана с тем, что вы работаете с ранее выпущенным объектом. Попробуйте настроить эти параметры: enter image description here Они находятся в Project >> Edit Scheme >> Аргументы

Затем разместите вывод консоли здесь.

0 голосов
/ 23 марта 2012

Я проверил его на своем устройстве, и он не падает.

Я добавил 't' в self.view, я думаю, что может быть проблема с myView

...