У меня есть класс с именем 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, программа работает нормально.Так в чем была причина?