use*_*037 9 objective-c deque uitableview ios
我正在使用重用标识符以编程方式创建单元格.
注意 - 我没有使用故事板来创建单元格
每当单元出列时,单元格为零,因此需要使用alloc重新创建单元,这很昂贵.
编辑(增加了1个问题并更正了代码)
题
码
- (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;
}
Run Code Online (Sandbox Code Playgroud)
Sri*_*aju 12
你需要先设置CellIdentifieras Cell.你在做吗?在创建新单元格时,需要为其分配此标识符Cell.只有iOS才能dequeueReusableCellWithIdentifier使用该标识符.以编程方式,你可以这样做 -
UITableViewCell *cell = [[UItableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"Cell"];
Run Code Online (Sandbox Code Playgroud)
您也可以从Interface Builder设置标识符 -

use*_*037 11
我犯了几个错误:
UITableViewController,但是在子类之外创建了tableViewtableView在表视图控制器中创建了一个,self.tableView在tableview控制器中返回索引路径的单元格时,我正在使用self.tableView而不是tableView.另外,请确保将单元标识符声明为 static
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
Run Code Online (Sandbox Code Playgroud)由于tableView并且self.tableView代表不同的表,因此单元格没有从同一个表中出列,因此总是如此nil
| 归档时间: |
|
| 查看次数: |
13635 次 |
| 最近记录: |