我的自定义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;
}
答案 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;
}