0

私はligatableと呼ばれるテーブルビューコントロールを備えたビューコントローラーを実装しました。このテーブルビューには、ligaViewController.hというテーブルビューコントローラーにデリゲートがあります。テーブルビューコントロールは、ligaCell.hコントローラーを設定した1つのプロトタイプセルを実装しました。詳細は次のとおりです。

competicionViewController.h

#import "ligaViewController.h"

@interface CompeticionViewController : UIViewController 
{

    IBOutlet UITableView *ligaTable;
    ligaViewController *ligaController;

}

@property (strong, nonatomic) IBOutlet UITableView *ligaTable;
@property (strong, nonatomic) ligaViewController *ligaController;

competicionViewController.h

- (void)viewDidLoad
{
...

 ligaController = [[ligaViewController alloc] init];

    [ligaTable setDelegate:ligaController];
    [ligaTable setDataSource:ligaController];

....

そして、ligaViewControllerのデリゲートメソッド:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

        ligaCell *cell = [self.tableView
                          dequeueReusableCellWithIdentifier:@"posicion"];


        NSDictionary *posicion = [[NSDictionary alloc] initWithDictionary: [ligaArray objectAtIndex:indexPath.row]];

        cell.posicion.text = [posicion valueForKey:@"posicion"];

        cell.PJ.text = [posicion valueForKey:@"pj"];

        cell.PG.text = [posicion valueForKey:@"pg"];

        cell.PP.text = [posicion valueForKey:@"pp"];

        cell.PF.text = [posicion valueForKey:@"favor"];

        cell.PC.text = [posicion valueForKey:@"contra"];

        return cell;

}

現在、このエラーが発生しています。

terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'

どうもありがとう

4

1 に答える 1

3

使用する -

ligaCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"posicion"];
if (cell == nil)
{ 
    cell = [[[ligaCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CustomCellIdentifier] autorelease];
}
于 2012-05-15T17:35:57.343 に答える