我已经按照here编写的教程。由- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
循环的内容应包含3个元素。
问题如下:
这是我特别提到的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
SECTThreadCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
cell = [[SECTThreadCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
cell.textLabel.text = [[self.threadList objectAtIndex:indexPath.row] valueForKey:@"content"];
cell.wowLabel.text = [[self.threadList objectAtIndex:indexPath.row] valueForKey:@"content"];
NSLog(@"%@", cell);
return cell;
}
但是,如果我将其更改为此,它可以正常工作,但显然没有继承自定义类:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
SECTThreadCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
cell.textLabel.text = [[self.threadList objectAtIndex:indexPath.row] valueForKey:@"content"];
cell.wowLabel.text = [[self.threadList objectAtIndex:indexPath.row] valueForKey:@"content"];
NSLog(@"%@", cell);
return cell;
}
循环似乎存在某种问题,但我无法确切地知道它是什么。有任何想法吗?提前谢谢。
答案 0 :(得分:0)
试试这个:
- (UITableViewCell *)tableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"Cell";
SECTThreadCell *cell = (SECTThreadCell *)[theTableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[SECTThreadCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
cell.textLabel.text = [[self.threadList objectAtIndex:indexPath.row] valueForKey:@"content"];
cell.wowLabel.text = [[self.threadList objectAtIndex:indexPath.row] valueForKey:@"content"];
return cell;
}
如果单元格为零,请尝试创建一个新单元格。
有关dequeuReusableCellWithIdentifier:
的详细信息,请参阅Apple Documentation。
的问候,
答案 1 :(得分:0)
你确定在主线程上调用[tableView reloadData]吗?任何UI任务都必须在主线程上执行。请在函数中放置一个断点并检查它是否被主线程命中。