我使用重用标识符编程地创建单元.
注意 – 我没有使用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设置标识符 –