[[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]]的预期标识符

时间:2013-04-29 15:22:01

标签: ios uitableview

我在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
    }

3 个答案:

答案 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];