2012-01-07 78 views
0
- (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; 
} 

我不知道爲什麼我得到這個錯誤。該錯誤似乎來自我的光標所在的行。我怎樣才能解決這個錯誤:「被調用的對象類型NSString不是函數或函數指針」錯誤?

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

請將文本放入問題的正文中。截圖所做的唯一工作就是難以閱讀。 – 2012-01-07 04:56:02

+0

爲什麼你有一個屬性'self.cellIdentifier'?這可能是一個局部變量。 – 2012-01-07 05:46:32

+1

你確定這是正確的嗎?這裏的含義是你有類似'foo(bar)'的代碼,其中'foo'應該是一個函數/函數指針,但實際上是一個'NSString *'。 – 2012-01-07 05:47:39

回答

18

我有這個確切的同樣的錯誤,發現是因爲我已經通過打字一切的元素手動創建一個數組它引起的,而忘記了一個逗號在他們兩人之間。

+1

這也是我的問題。我花了數小時才弄清楚爲什麼我的代碼無法工作。我不知道爲什麼Xcode沒有警告我這個逗號。 – blake305 2012-05-29 02:44:09

0

我不完全知道爲什麼你有錯誤,但如果你沒有必要對小區標識是不同的(它不會出現你做),你可能要改變這一行你的光標到更多的標準:

static NSString *CellIdentifier = @"Cell"; 

這將改變你的其他行更接近於:

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

本身可能來自錯誤你的「br」方法ain「的對象,你的電話。如果你張貼我們可能會說。

〜好運

+0

將行更改爲靜態NSString * CellIdentifier = @「單元格」工作。我只需要能夠動態改變cellidentifier – blake305 2012-01-07 05:31:57

相關問題