我已检查过所有查询,但它们对我来说不同或太高级。我有按钮以编程方式完成,所以我也需要使用程序。我没有发送任何东西,只是去了下一个ViewController。文档说如果没有传递任何东西只需使用:- (id)initWithIdentifier:(NSString *)identifier source:(UIViewController *)source destination:(UIViewController *)destination
。但是我还不懂加号(+)或类。此外,我不能只将gjRelaysViewController
作为目标,Xcode表示它未被声明。我创建一个实例是正确的吗?我已经尝试过为segue做准备,但没有任何结果。感谢。
来源:gjViewControllers
@property (nonatomic, strong) UIStoryboardSegue *relaysSegue;
@property (nonatomic, strong) gjRelaysViewController *relays;
[_pushButton1 addTarget:self action:@selector(relayCircuitsOn:) forControlEvents:UIControlEventTouchDown];
-(void)relayCircuitsOn: (id) sender
{
_relaysSegue = [[UIStoryboardSegue alloc] initWithIdentifier:@"toRelays" source:self destination: _relays];
}
目的地:gjRelaysViewController
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if(![segue.identifier isEqual: @"toRelays"])
{
return;
}
}
答案 0 :(得分:1)
Ctrl-Drag在InterfaceBuilder中从ViewController 1拖动到ViewController 2以创建一个segue。单击segue并在右侧窗格中为其命名。
在relayCircuitsOn
来电
[self performSegueWithIdentifier:@"Insert the name you specified above" sender:self];
你应该全力以赴。
或者,您可以在代码中进行转换:
ViewController2 *vc = [[ViewController2 alloc] init];
[self.navigationController pushViewController:vc animated:YES];