0

私はXcodeでアプリに取り組んでおり、現在、別のクラスにアクセスしてそこで関数を呼び出そうとしています。


メッセージを送信するためのコード

-(IBAction) reloadButton:(id)sender
{
    RootViewController *theInstance = [[RootViewController alloc] initWithNibName:@"MainWindow" bundle:nil];
    [theInstance reloadTableView];
}

メソッドの呼び出し

.hファイル

-(void) reloadTableView;

.mファイル

-(void)reloadTableView
{
    [self.tableView reloadData];
}

私がビルドするときはいつでも、エラーはありません。しかし、アプリを実行して「reloadButton」を押すと、クラッシュして、次の行に「プログラム受信信号:SIGABRT」と表示されます。

[self.tableView reloadData];

何が問題になる可能性があり、これを修正するにはどうすればよいですか?

4

3 に答える 3

1

RootViewControllerがtableViewを正しく初期化していないと思います。デバッガーで、self.tableViewの値にアクセスしてみてください。

于 2012-12-25T20:08:26.110 に答える
0

あなたのクラスは実際にデータソースとして使用されていますか?それ以外の場合は、次の電話番号に電話してください。

self.tableView.dataSource = self;
于 2012-12-25T20:16:54.993 に答える
0

RootViewControllerオブジェクトは、使用されているようには見えません。

あなたは割り当てています-メソッドでそれを初期化しますが、それで何もしません-どこにもビューを追加せず、データソースやデリゲートを設定しません。

そして、メソッドの最後では、範囲外です。

于 2012-12-25T21:06:20.067 に答える