Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 首次发射/segue swift_Ios_Swift_Segue_Uistoryboardsegue_Swiftyuserdefaults - Fatal编程技术网

Ios 首次发射/segue swift

Ios 首次发射/segue swift,ios,swift,segue,uistoryboardsegue,swiftyuserdefaults,Ios,Swift,Segue,Uistoryboardsegue,Swiftyuserdefaults,我试图做到的是,一旦应用程序启动,它将检查首次使用。如果是第一次使用,它将带您到视图控制器输入凭据,否则将带您到应用程序的主菜单。到目前为止,这就是我所拥有的,但每次启动时,它都会给我一个空白页面,并显示错误消息“segue必须具有performHandler或它必须覆盖-perform。 “我在故事板上链接了两个片段。谁能帮我指引方向吗 let defaults = UserDefaults.standard if defaults.string(forKey: "isAppA

我试图做到的是,一旦应用程序启动,它将检查首次使用。如果是第一次使用,它将带您到视图控制器输入凭据,否则将带您到应用程序的主菜单。到目前为止,这就是我所拥有的,但每次启动时,它都会给我一个空白页面,并显示错误消息“segue必须具有performHandler或它必须覆盖-perform。 “我在故事板上链接了两个片段。谁能帮我指引方向吗

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

如果序列图像板中的segue类型设置为自定义,则必须使用自己的逻辑对
UIStoryboardSegue
进行子类化,才能使其正常工作

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

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

您的方法非常混乱。我处理这个问题的方法如下所示

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

}

}

作为补充说明,您可能混淆了逻辑-
默认值。set(true,forKey:“isAppAlreadyLaunchedOne”)
应该在第一次发布时调用。现在讨论主题:您在故事板中创建了什么类型的segue?这是自定义的吗?@nshuman是的,这是自定义的序列。@LuisMartines请检查我的答案。你为什么要设置
Bool
并从
UserDefaults
检索
String
?谢谢。它确实解决了那个错误,但它给了我另一个错误,但这是一个开始。谢谢。@LuisMartinez不客气。在StackOverflow上,接受您认为有帮助的答案是非常感谢的。谢谢您的帮助。一旦那个错误清楚了,就很容易解决下一个错误。现在它正在工作。谢谢