Ios IBAction不工作
我在故事板中有一个名为nextButton的UIBarButtonim,它通过segue连接到另一个ViewController。但当我尝试在另一个文件上添加此方法时:Ios IBAction不工作,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我在故事板中有一个名为nextButton的UIBarButtonim,它通过segue连接到另一个ViewController。但当我尝试在另一个文件上添加此方法时: - (IBAction)nextButtonPressed:(id)sender { NSLog(@"Hello") } 控制台上不显示输出。我得到显示此消息的按钮的唯一方法是在我取出故事板中的片段时。当我这样做时,我添加了以下方法,以便在单击按钮时以编程方式完成该过程: - (IBAction)nextButton
- (IBAction)nextButtonPressed:(id)sender {
NSLog(@"Hello")
}
控制台上不显示输出。我得到显示此消息的按钮的唯一方法是在我取出故事板中的片段时。当我这样做时,我添加了以下方法,以便在单击按钮时以编程方式完成该过程:
- (IBAction)nextButtonPressed:(id)sender {
NSLog(@"Hello");
GameDetailsTableViewController *gameDetails = [[GameDetailsTableViewController alloc]init];
[self.navigationController pushViewController: gameDetails animated:YES];
}
但当我这样做时,控制台显示一个错误:
“NSInternalInconsistencyException”,原因:“UITableView数据源必须从tableView:cellForRowAtIndexPath:返回单元格”
我需要帮助来确定如何确保按钮显示消息并在单击时转到下一个视图控制器。可以将按钮分配给
iAction
方法或segue
如果使用segue,请在控制器中实现-prepareforsgue:sender:
,以便在执行segue时运行任何其他代码。例如:
- (void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender
{
if ([[segue identifier] isEqual:@"gameDetailSegue"])
{
GameDetailsTableViewController* gameDetails = (id)[segue destinationViewController];
gameDetails.cheatMode = self.prefs.cheatModeEnabled;
}
}
如果使用动作方法,则必须手动显示视图控制器。您还必须从情节提要中实例化视图控制器:
- (IBAction)nextButtonPressed:(id)sender
{
GameDetailsTableViewController* gameDetails =
[self.storyboard instantiateViewControllerWithIdentifier:@"gameDetailController"]
gameDetails.cheatMode = self.prefs.cheatModeEnabled;
[self.navigationController pushViewController:gameDetails animated:YES];
}
在任何一种情况下,您都必须为序列图像和情节提要中的视图控制器分配标识符。按钮可以分配给
iAction
方法或序列
如果使用segue,请在控制器中实现-prepareforsgue:sender:
,以便在执行segue时运行任何其他代码。例如:
- (void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender
{
if ([[segue identifier] isEqual:@"gameDetailSegue"])
{
GameDetailsTableViewController* gameDetails = (id)[segue destinationViewController];
gameDetails.cheatMode = self.prefs.cheatModeEnabled;
}
}
如果使用动作方法,则必须手动显示视图控制器。您还必须从情节提要中实例化视图控制器:
- (IBAction)nextButtonPressed:(id)sender
{
GameDetailsTableViewController* gameDetails =
[self.storyboard instantiateViewControllerWithIdentifier:@"gameDetailController"]
gameDetails.cheatMode = self.prefs.cheatModeEnabled;
[self.navigationController pushViewController:gameDetails animated:YES];
}
在任何一种情况下,您都必须为序列图像和情节提要中的视图控制器分配标识符。按钮可以分配给
iAction
方法或序列
如果使用segue,请在控制器中实现-prepareforsgue:sender:
,以便在执行segue时运行任何其他代码。例如:
- (void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender
{
if ([[segue identifier] isEqual:@"gameDetailSegue"])
{
GameDetailsTableViewController* gameDetails = (id)[segue destinationViewController];
gameDetails.cheatMode = self.prefs.cheatModeEnabled;
}
}
如果使用动作方法,则必须手动显示视图控制器。您还必须从情节提要中实例化视图控制器:
- (IBAction)nextButtonPressed:(id)sender
{
GameDetailsTableViewController* gameDetails =
[self.storyboard instantiateViewControllerWithIdentifier:@"gameDetailController"]
gameDetails.cheatMode = self.prefs.cheatModeEnabled;
[self.navigationController pushViewController:gameDetails animated:YES];
}
在任何一种情况下,您都必须为序列图像和情节提要中的视图控制器分配标识符。按钮可以分配给
iAction
方法或序列
如果使用segue,请在控制器中实现-prepareforsgue:sender:
,以便在执行segue时运行任何其他代码。例如:
- (void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender
{
if ([[segue identifier] isEqual:@"gameDetailSegue"])
{
GameDetailsTableViewController* gameDetails = (id)[segue destinationViewController];
gameDetails.cheatMode = self.prefs.cheatModeEnabled;
}
}
如果使用动作方法,则必须手动显示视图控制器。您还必须从情节提要中实例化视图控制器:
- (IBAction)nextButtonPressed:(id)sender
{
GameDetailsTableViewController* gameDetails =
[self.storyboard instantiateViewControllerWithIdentifier:@"gameDetailController"]
gameDetails.cheatMode = self.prefs.cheatModeEnabled;
[self.navigationController pushViewController:gameDetails animated:YES];
}
在任何一种情况下,您都必须在情节提要中为您的分段和视图控制器分配标识符。正如@darren所说,您必须按照所提供的答案中的定义,以任何一种方式进行操作,如果您希望,您也可以通过情节提要将Uibutton连接到下一个视图,并提供必要的选项,如push/modal等。。,希望这能有所帮助。正如@darren所说,您必须按照提供的答案中的定义,以任何一种方式进行操作,如果您希望,您也可以通过故事板尝试,将Uibutton连接到下一个视图,并提供必要的选项,如推送/模式等。。,希望这能有所帮助。正如@darren所说,您必须按照提供的答案中的定义,以任何一种方式进行操作,如果您希望,您也可以通过故事板尝试,将Uibutton连接到下一个视图,并提供必要的选项,如推送/模式等。。,希望这有帮助。正如@darren所说,您必须按照提供的答案中的定义以任何一种方式进行操作,如果您希望也可以通过故事板将Uibutton连接到下一个视图并提供必要的选项(如推送/模式等),希望这有帮助。