它给出了:
信号SIGABRT
日志中的另一个错误是:
libc ++ abi.dylib:以NSException类型的未捕获异常终止
@IBAction func loginok(sender: AnyObject) {
if loginTextField?.text != "monal" && passwordTextField?.text != "gosai"
{
warningLable?.text = "Invalid Credentials"
loginTextField?.text = ""
passwordTextField?.text=""
}
else
{
let View2 = self.storyboard!.instantiateViewControllerWithIdentifier("View2") as! ViewController2
self.navigationController!.pushViewController(View2, animated: true)
}
}
答案 0 :(得分:2)
PerformSegueWithIdentifier
将无效。如果有,那么在弗朗西斯科所说的else
声明中,您应该调用该函数。如果您还没有在Storyboard上设置segue,那么您必须这样做才能使用此方法。
此外,作为惯例,您的@IBAction
方法标题应为func loginok(sender: UIButton) {...}
答案 1 :(得分:0)
您需要为segue设置标识符,然后使用
调用它self.performSegueWithIdentifier("YourIdentifier", sender: self)
答案 2 :(得分:0)
在故事板中单击segue并在Utilities-> Attributes inspector-> Identifier中输入一个名称,我使用" mySegue" 在标识符下方,对于Segue,使其成为模态。
创建一个按钮并按住Ctrl键拖动到m文件: 这是我的代码:
- (IBAction)nAction:(UIButton *)sender {
self.mytext = self.mytextfield.text;
[self performSegueWithIdentifier:@"mySegue" sender:sender];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([[segue identifier] isEqualToString:@"mySegue"])
{
NSLog(@" my segues is called mysegue");
myViewController *controller = [segue destinationViewController] ;
controller.textforlabel = self.mytext;
}
不要忘记在你为segue定义目标viewcontroller的地方加入h文件:)