objective-c – dequeueReusableCellWithIdentifier总是返回nil(不使用storyboard)

前端之家收集整理的这篇文章主要介绍了objective-c – dequeueReusableCellWithIdentifier总是返回nil(不使用storyboard)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用重用标识符编程地创建单元.

注意 – 我没有使用storyboard来创建单元格

无论何时单元格出队,单元格都为零,所以单元需要使用alloc新创建,这是昂贵的.

编辑(再加1个问题和更正的代码)

>为什么这个出队总是返回零?我该如何纠正?
>只有在与故事板/ nib文件一起使用时,出队工作?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if(!cell) //Every time cell is nil,dequeue not working 
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

    }

    return cell;
}

解决方法

您需要首先将CellIdentifier设置为单元格.你在干吗当您创建一个新单元格时,您需要将此标识符分配给它.只有这样,iOS才能够使用该标识符对RequeableCellWithIdentifier进行排队.程序上你可以这样做 –
UITableViewCell *cell = [[UItableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"Cell"];

您也可以从Interface Builder设置标识符 –

猜你在找的C&C++相关文章