“被调用的对象类型NSString不是函数或函数指针”错误?

时间:2012-01-07 04:51:10

标签: objective-c xcode

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.cellIdentifier = [self.brain returnCellIdentifier:indexPath];
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:self.cellIdentifier];

    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:self.cellIdentifier];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }

    cell.textLabel.text = [self.brain enchantmentCellText:indexPath];

    return cell;
}

我不知道为什么会收到此错误。错误似乎来自我的光标所在的行。我该如何解决这个错误:

Semantic issue
Called object type 'NSString *' is not a function or function pointer

2 个答案:

答案 0 :(得分:19)

我有这个完全相同的错误并发现它是由于我通过输入所有元素手动创建了一个数组,并忘记了其中两个之间的逗号。

答案 1 :(得分:1)

我不完全确定你为什么会有这个错误,但是如果你不需要单元格标识符不同(你不会出现这种情况),你可能想要改变那条线你的光标是更标准的:

static NSString *CellIdentifier = @"Cell";

会将您的其他行更改为更接近的行:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) 
{
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle 
                                  reuseIdentifier:CellIdentifier];
}

错误本身可能来自你的“大脑”对象的方法。如果您发布我们可能会告诉您。

〜祝你好运