按钮动作没有抛出

时间:2014-05-01 18:13:06

标签: ios

我正在创建一个iOS应用。在视图控制器上有几个按钮。

其中一个是AButton,在这里你有我的头文件:

#import <UIKit/UIKit.h>

@interface FirstViewController : UIViewController
- (IBAction)Aaction:(id)sender;
@property (weak, nonatomic) IBOutlet UIButton *AButton;

@end

我想在点击AButton时打开另一个视图控制器:

#import "FirstViewController.h"
#import "EntradasTableViewController.h"

@interface FirstViewController ()

@end

@implementation FirstViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)Aaction:(id)sender {

    EntradasTableViewController *detailViewController =[self.storyboard instantiateViewControllerWithIdentifier:@"entradasViewController"];
    detailViewController.categoriaDescription = @"A";
    [self.navigationController pushViewController:detailViewController animated:YES];


}
@end

我已将StoryBoard标识符声明如下:

enter image description here

但点击按钮后没有任何反应,没有抛出任何异常,并且未显示视图控制器detailViewController。

欢迎任何帮助。

NEW IMAGED ADDED:

以下是我在故事板中声明按钮操作的屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:1)

问题是您的FirstViewController实例不在导航界面中。因此,当您的FirstViewController说self.navigationController时,那就是零。因此这一行:

[self.navigationController pushViewController:detailViewController animated:YES];

...涉及向nil发送消息。在Objective-C中,向nil发送消息不起作用。所以这就是为什么没有发生的原因。