1

SegmentSwitcher の状態に応じて、2 つの異なるビューをサブビューに設定しようとしています。

if ([sender selectedSegmentIndex] == gameIndex) {
    if (self.gameView.view == nil) {
        GameView *gameV = [[UIViewController alloc] initWithNibName:@"GameView" bundle:nil];
        self.gameView = gameV;
        [gameV release];
    }
    [tableView.view removeFromSuperview];
    [subView insertSubview:gameView.view atIndex:0];
} else {
    if (self.tableView.view == nil) {
        TableView *tableV = [[UIViewController alloc] initWithNibName:@"TableView" bundle:nil];
        self.tableView = tableV;
        [tableV release];
    }
    [tableView.view removeFromSuperview];
    [subView insertSubview:tableView.view atIndex:0];
}

TableView は TableViewController を拡張しますが、テーブルビューに切り替えようとすると常に次のエラーが発生します。

2010-01-06 19:55:00.871 Handball[84675:40b] * -[UIViewController tableView:numberOfRowsInSection:]: インスタンス 0x3b18360 に送信された認識されないセレクター 2010-01-06 19:55:00.873 Handball[84675:40b] *終了キャッチされない例外 'NSInvalidArgumentException' によるアプリ、理由: '*** -[UIViewController tableView:numberOfRowsInSection:]: 認識されないセレクターがインスタンス 0x3b18360 に送信されました' 2010-01-06 19:55:00.874 Handball[84675:40b] スタック: (

どんな助けでも本当に、本当に感謝しています...

4

1 に答える 1

4

はでtableVあると宣言されていますが、コードに表示されるようにTableView、単純な で初期化されている可能性が最も高いです。UIViewConrtoller行を次のように変更してみてください。

TableView *tableV = [[TableView alloc] initWithNibName:@"TableView" bundle:nil];

のサブTableViewタイプである必要がありUITableViewControllerます。

ちなみに、同じことがおそらくGameView同様に起こるはずです。

于 2010-01-06T19:07:03.057 に答える