Как установить идентификатор UITableViewCell в xcode? - PullRequest
0 голосов
/ 05 апреля 2011

Случайно происходит сбой при выборе ячейки в UITableView в контроллере представления в моем проекте.

Я думаю, что проблема вызвана ячейками, которые я пытаюсь использовать.

Вот код.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

        [self reinitializeStrArray];

        static NSString *CellIdentifier = @"cell";

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[[UITableViewCell alloc] 
                     initWithStyle:UITableViewCellStyleDefault 
                     reuseIdentifier:CellIdentifier] autorelease];
        }

        cell.textLabel.text = [strArray objectAtIndex:indexPath.row];

        return cell;
}



- (void)addStrTableToSubView{
    strTable = [[UITableView alloc] initWithFrame:CGRectMake(20, 110, 280, 285)];
    [strTable setDelegate:self];
    [strTable setDataSource:self];

    [self.view addSubview:strTable];

    UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(20, 83, 280, 28)] autorelease];
    UIColor *myColor = [UIColor colorWithRed:(215 / 255.0) green:(145 / 255.0) blue:(0.0 / 255.0) alpha: 1];
    label.backgroundColor = myColor;

    label.font = [UIFont boldSystemFontOfSize:24];
    label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.8];
    label.textAlignment = UITextAlignmentCenter;
    label.textColor = [UIColor whiteColor];
    label.text = [@"strings" capitalizedString];
    [self.view  addSubview:label];

    [strTable selectRowAtIndexPath:scrollStrIndexPath animated:YES scrollPosition:UITableViewScrollPositionTop];
}

Я создаю свою таблицу в XCode. Таким образом, в IB нет объекта UITableViewCell, который имеет идентификатор.

Можно ли добавить это в код при создании таблицы? Или проблема где-то еще?

Спасибо

1 Ответ

1 голос
/ 05 апреля 2011

Когда вы получаете EXC_BAD_ACCESS, обычно означает, что существует неправильное управление памятью (то есть объект был неправильно освобожден).Я предлагаю включить переменную среды NSZombieEnabled: она даст вам больше информации о том, что является объектом, вызывающим проблему.Подробнее здесь .

...