我想要完成的是一旦应用程序启动它将检查第一次使用。如果是第一次使用它将带您到视图控制器输入凭据,否则它将带您到应用程序的主菜单。这是我到目前为止,但每次我启动它会给我一个空白页面,错误信息“一个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)
}
答案 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
}
}