从另一个类调用函数

时间:2012-12-25 20:06:30

标签: objective-c ios cocoa-touch function

我正在使用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];

可能是什么问题,我将如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

我猜想RootViewController没有正确初始化它的tableView。在调试器中,尝试访问self.tableView中的值。

答案 1 :(得分:0)

您的班级是否真的用作数据源?否则,请致电:

self.tableView.dataSource = self;

答案 2 :(得分:0)

RootViewController对象看起来不像是在使用它。

你是分配 - 在方法中启动它,但没有对它做任何事情 - 不在任何地方添加它的视图,而不是设置数据源或委托。

在方法结束时,它超出了范围。