2012-01-07 13 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

質問の本文にテキストを入力してください。スクリーンショットの唯一のことは、読みにくいことです。 –

+0

なぜあなたは 'self.cellIdentifier'というプロパティを持っていますか?それはローカル変数である可能性があります。 –

+1

あなたはそれが正しい行だと確信していますか?ここでの意味は 'foo(bar)'のようなコードがあり、 'foo'は関数/関数ポインタであると予想されますが、実際は' NSString * 'です。 –

答えて

18

〜グッドラックは、私は、この正確に同じエラーを持っていたし、私はそれのすべての要素を入力して、手動で配列を作成していたので、それが原因で発見され、それらのうちの2つの間にカンマを忘れていました。

+1

それはまた私の問題だった。なぜ私のコードが機能していないのかを理解するのに数時間かかりました。 Xcodeがカンマについて私に警告しなかった理由は分かりません。 – blake305

0

あなたがそのエラーを持っている理由私は全くわからないんだけど、あなたは(セル識別子が異なることする必要性を持っていない場合、それはあなたに表示されませんあなたのカーソルがより標準的に上にあるその行を変更したい場合があります)です:

に近いものにあなたの他の行を変更します
static NSString *CellIdentifier = @"Cell"; 

:エラー自体から来るかもしれない

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

あなたの "brの方法あなたの呼び出しであるオブジェクト "です。私たちがそれを伝えれば、わかるかもしれません。

+0

行を静的NSStringに変更する* CellIdentifier = @ "Cell"が機能する。私はちょうど動的にcellidentifierを変更することができる必要があります – blake305

関連する問題