我在if语句
中不断获得预期标识符- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell1";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
//NSDate *object = _objects[indexPath.row];
if(cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]];
// expected identifier
}
答案 0 :(得分:8)
下面:
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]];
^ ^
你有一对额外的括号。最外面的一对是多余的。
答案 1 :(得分:-1)
我不知道你为什么会这样做,但是当你使用dequeueReusableCellWithIdentifier:forIndexPath时,根本不需要if子句。这种出列方法可以保证创建一个单元格。
答案 2 :(得分:-1)
您正在使用标识符" Cell"并创建一个带有标识符" Cell1"这就是你总是在if语句中结束的原因。
更改
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
到
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];