EXC_BAD_ACCESS когда removeAllObject - PullRequest
1 голос
/ 06 марта 2011

У меня есть класс с именем UICustomLabel с переменной NSMutableString: _text.Я создал много этих объектов для отображения контента в виде страницы.Вот код для создания:

for (int i = 0; i < linesOfFirstPage; i++) //first page is the special case 
            {
                UICustomLabel * _centerLabel =[[UICustomLabel alloc] initWithFrame:CGRectMake(100.0, 555 + 35 * i, 575.0, 35.0)];//create label in follow kPortraitIpadfirstLabelRect area
                if (!_isSmallFont) _centerLabel.frame = CGRectMake(100, 505 + 45 * i, 575, 45);
                _centerLabel._textColor=kLabelTextColor;
                _centerLabel._backgroundColor=kBackgroundColor;
                _centerLabel._font=[UIFont systemFontOfSize:isSmallFont?25:32];
                [_contentOfPage addObject:_centerLabel];
                [self addSubview:_centerLabel];
                [_centerLabel release];
            }

После этого, когда я хочу удалить все метки на моей странице:

      if (_contentOfPage)
        {
            for (int i = 0; i < [_contentOfPage count]; i++)
            {
                UICustomLabel * tmp = [_contentOfPage objectAtIndex:i];
                [tmp removeFromSuperview];
            }
            [_contentOfPage removeAllObjects];
        }

Но я получаю ошибку EXC_BAD_ACCESS, когдакоманда [_contentOfPage removeAllObjects] excuted;Когда я отклоняю команду [_text release] в методе dealloc UICustomLabel, программа работает нормально.Так в чем была причина?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...