2013-11-11 3 views
0

Я использовал следующий код в UITableViewController.ios UITableViewController Выход метки не равен

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    // Return the number of sections. 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    // Return the number of rows in the section. 
    return [buyer count]; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

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

    buyerobject = [buyer objectAtIndex:indexPath.row]; 
    UILabel *Label = (UILabel *)[cell viewWithTag:10]; 
    NSString *temp = [[NSString alloc]initWithString:[buyerobject objectForKey:@"text"]]; 
    Label.text = temp; 

    return cell; 
} 

Когда я печатаю вышеупомянутую «темп», я получаю выход. Но в ярлыке внутри ячейки ничего не отображается. Все идентификаторы ячейки и значение тега заданы правильно. Если у кого-то была аналогичная проблема и нашли решение для такого рода ошибок, то, пожалуйста, помогите.

+1

Вы используете 'UITableViewCell'. Я думаю, вы должны использовать свой собственный производный класс UITableViewCell для этого. Этот производный класс должен иметь свойство экземпляра 'UILabel', и вы должны назначить его компонентом' UILabel' в IB. – neutrino

+0

Могу ли я узнать, как вы дали тегу 10 для метки внутри ячейки? – wesley

+0

попробуйте изменить метку с номером метки – suhit

ответ

0

Это происходит потому, что UILabel не ссылается на фактический вид в иерархии представлений UITableViewCell (вы не добавляли его в качестве подсмотра UITableViewCell). Попробуйте установить метку с ячейкой с

[cell.textLabel setText:temp]; 

Вы можете попробовать отладки с точки останова, где вы установите текст и распечатать (ро Label), что объект метка?

0

На основании вашего кода вы должны использовать cell.textLabel.text=temp;.
Вы также ищете представление с тегом 10 внутри ячейки, но, вероятно, вы его никогда не устанавливали.

Смежные вопросы