0

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

    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)
    }
4

2 回答 2

1

如果您的 segue 类型在 Storyboard中设置为自定义UIStoryboardSegue- 您必须使用自己的逻辑进行子类化才能使其工作。

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

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

于 2017-04-05T19:10:34.537 回答
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

}

}
于 2017-04-06T01:20:59.507 回答