我希望- (IBAction)nextButton:(id)sender
中的代码在我点击下一个按钮时运行,但是点击它似乎没有注册。
我确保nextButton
已连接到父控制器(SearchViewController
),并且我有两个segues通向两个辅助视图控制器。
它所分割的视图控制器取决于函数返回的值。
我认为问题在于我如何构建函数,或者我如何布置segue。
#import "SearchViewController.h"
@interface SearchViewController ()
@property (weak, nonatomic) IBOutlet UITextField *itemSearch;
@property (weak, nonatomic) IBOutlet UIButton *nextButton;
@end
@implementation SearchViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)nextButton:(id)sender
{
if (self.itemSearch.text.length > 0) {
[PFCloud callFunctionInBackground:@"eBayCategorySearch"
withParameters:@{@"item": self.itemSearch.text}
block:^(NSString *result, NSError *error) {
if (!error) {
NSLog(@"The result is '%@'", result);
if ([result intValue] == 1) {
[self performSegueWithIdentifier:@"ShowMatchCenterSegue" sender:self];
} else {
[self performSegueWithIdentifier:@"ShowCriteriaSegue" sender:self];
}
}
}];
}
}
答案 0 :(得分:1)
我能想到的唯一问题是,虽然按钮可能连接到searchViewController, - (IBAction)nextButton:(id)发送者可能没有分配给按钮。 在searchViewController中试试这个: 首先,在其头文件中,将nextButtonOutlet添加为IBOutlet。然后在.m文件中,写
[self.nextButtonOutlet addTarget:self action:@selector(nextButton:) forControlEvents:UIControlEventTouchUpInside];
看看这是否有效。
编辑:在viewDidLoad方法中编写该行代码。
答案 1 :(得分:0)
试试这个......
第1步:为按钮
创建IBOutlet
- (void)viewDidLoad
{
[super viewDidLoad];
[self.nextButtonOutlet addTarget:self action:@selector(nextButton:) forControlEvents:UIControlEventTouchUpInside];
}
第2步:按钮操作
- (IBAction)nextButton:(id)sender
{
NSLog(@"Button Clicked");
//-- Your code implementation
}
答案 2 :(得分:0)
断开segue与按钮本身的连接,并在两个ViewControllers之间建立连接。另外,给segue本身一个标识符。