4

UITableViewのカスタムセルを作成しようとしています。

そこで、クラス(UITableViewCell)を作成し、HomeCellという名前を付けました。このクラスには、titleCellという名前のラベルが付いたxibファイルがあります。

私のcellForRowAtIndexPathメソッドで私は書いた:

HomeCell *cell = (HomeCell *)[tableView dequeueReusableCellWithIdentifier:@"HomeCell"];

    if(cell == nil){
        NSArray *xib = [[NSBundle mainBundle] loadNibNamed:@"HomeCell" owner:self options:nil];
        for(id oneObject in xib){
            if([oneObject isKindOfClass:[HomeCell class]]){
                cell = (HomeCell *) oneObject;
            }
        }
    }

    //Get object at index data
    HomeObjectCell *tempObject = [self.dataForCell objectAtIndex:indexPath.row];

    NSLog(@"Title : %@",tempObject.title); // The tempObject.title return a NSString example

    cell.titleCell.text = tempObject.title; // <-- ERROR ! 

アプリケーションを実行すると、次のようになります。

[UITableViewCell titleCell]:認識されないセレクターがインスタンス0x6e61890に送信されました

何か案が?

4

3 に答える 3

7

あなたは絶対にそれを確信していますか:

1)..クラス「HomeCell」はテーブルセルに対して正しい名前が付けられていますか?セルを選択し、「IDインスペクター」->セクション「カスタムクラス」を選択して確認します

2)..各ラベル/ UIイメージに接続された参照アウトレットが作成されますか?セルをもう一度選択し、[接続インスペクター]を選択して確認してください

于 2012-07-19T15:42:35.480 に答える
0

説明の中で、HomeCellにはtitleLableという名前のメンバーがいるとおっしゃいました。

コードでは、cell.titleCell.textを使用しました。

したがって、cell.titleCellの代わりにcell.titleLabel.textを使用する必要があると思います。クラッシュメッセージは、Cell.titleCellにプロパティがないことをHomeCellに示していることも示しています。

于 2012-07-19T08:33:54.197 に答える
0

xibファイルのファイル所有者がクラスHomeCellであるかどうかを確認してください。

于 2012-07-19T10:01:49.440 に答える