第一次发布/ segue swift

时间:2017-04-05 18:55:23

标签: ios swift segue uistoryboardsegue swiftyuserdefaults

我想要完成的是一旦应用程序启动它将检查第一次使用。如果是第一次使用它将带您到视图控制器输入凭据,否则它将带您到应用程序的主菜单。这是我到目前为止,但每次我启动它会给我一个空白页面,错误信息“一个segue必须有一个performHandler或它必须覆盖 - 执行。 “我在故事板上都有两个链接。任何人都可以引导我朝着正确的方向前进。

    let defaults = UserDefaults.standard
    if defaults.string(forKey: "isAppAlreadyLaunchedOnce") != nil{
        print("first time")
        self.performSegue(withIdentifier: "toToken", sender: nil)
    }else{
        defaults.set(true, forKey: "isAppAlreadyLaunchedOne")
        defaults.synchronize()
        print("not first")
        self.performSegue(withIdentifier: "toMainMenu", sender: nil)
    }

2 个答案:

答案 0 :(得分:1)

如果您的segue类型在Storyboard中设置为自定义 - 您必须使用自己的逻辑将UIStoryboardSegue子类化,以使其正常工作。

class MySegue: UIStoryboardSegue {
    override func perform() {
        // your custom transition logic
    }
}

否则只需使用iOS SDK中的一个现有预设。

答案 1 :(得分:0)

你的方法很混乱。我解决这个问题的方式如下所示。

override viewDidLoad() {
super.viewDidLoad

let checkForFirstTimeLaunch = Userdefaults.standard.string(forKey: "Flag")

if checkForFirstTimeLaunch == false {
print("First time launch")

//if user launches app for the first time, it will go here

} else {
//otherwise, it will go here

}

}