自定义UITableviewCell不会设置标签

时间:2012-01-23 08:58:55

标签: objective-c uitableview

我的自定义tableview单元格有问题。当我想在我的标签上放置文字时,它不会改变。这就是我的代码的样子。

我的NieuwsTableViewCell.h

@interface NieuwsTableViewCell : UITableViewCell{

}
@property (nonatomic, retain) IBOutlet UILabel *topic;
@property (nonatomic, retain) IBOutlet UILabel *omschrijving;

@end

我的NieuwsTAbleViewCell.m

@implementation NieuwsTableViewCell
@synthesize topic;
@synthesize omschrijving;

和我的firstViewController.m

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

    NieuwsTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {

        NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"NieuwsTableViewCell" owner:nil options:nil];

        for (UIView *view in views) {
            if([view isKindOfClass:[UITableViewCell class]])
            {
            NSDictionary *info = [json objectAtIndex:indexPath.row];

            cell.topic.text = @"Stef";
            cell.omschrijving.text = [info objectForKey:@"Nie_omschrijving"];
            NSLog(@"voorlopige test");


            cell = (NieuwsTableViewCell*)view;
            }
        }
    }

    return cell;
}

1 个答案:

答案 0 :(得分:1)

这是因为你在if(!cell)块中设置了text属性。只会多次调用该块来创建可重用对象。以简单的方式移动单元格。*。text =在if(!cell)块之外的部分。这是一个完整的代码JIC

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

    NieuwsTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {

        NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"NieuwsTableViewCell" owner:nil options:nil];

        for (UIView *view in views) {
            if([view isKindOfClass:[UITableViewCell class]])
            {   
            cell = (NieuwsTableViewCell*)view;
            }
        }
    }
                NSDictionary *info = [json objectAtIndex:indexPath.row];

            cell.topic.text = @"Stef";
            cell.omschrijving.text = [info objectForKey:@"Nie_omschrijving"];
            NSLog(@"voorlopige test");

    return cell;
}