我无法让我的 CustomTableViewCell ,一个 UITableViewCell 的子类出现在我的表 View 中。

我正在使用 xib 来表示该单元格,但我假设数据源委托(delegate)的代码不会更改。我确保在表格 View 单元格 XIB 中设置了相同的重用标识符。

我将问题与返回表格单元格的数据源方法无法正常工作这一事实隔离开来,这里是:

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

    DataObject *foo = [self.dataArray objectAtIndex:indexPath.row];

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

    [[cell overview] setText:foo.overview];
    [[cell price] setText:foo.price];
    NSLog(@"cell initialized, description text is %@",cell.overview.text);

    return cell;
}

不知道为什么这不起作用,但最后一条日志语句总是在最后打印一个 (null),是的,我确实验证了数据对象的 overview 属性中是否包含有效字符串。 price 也是如此。

最佳答案

在 .h 文件中,您编写它。

IBOulet CustomTableViewCell *tableCell;

并连接到 CustomTableViewCell 的 .xib 文件中的 File's Owner。

您在 (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 中修改它
if (cell == nil)
 {
     [[NSBundle mainBundle] loadNibNamed:@"CustomTableViewCell" owner:self options:nil];
     cell = tableCell;
 }

我想它会对你有所帮助。

关于iphone - 使用 XIB 文件加载 UITableViewCell 子类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11025572/

10-14 20:57