Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.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是使用标识符“执行的”;“发生了什么事?”;是否运行此函数?是否运行此函数?这可能吗?_Ios_Function_If Statement_Swift_Segue - Fatal编程技术网

Ios 如果segue是使用标识符“执行的”;“发生了什么事?”;是否运行此函数?是否运行此函数?这可能吗?

Ios 如果segue是使用标识符“执行的”;“发生了什么事?”;是否运行此函数?是否运行此函数?这可能吗?,ios,function,if-statement,swift,segue,Ios,Function,If Statement,Swift,Segue,如果执行了segue,如何让我的selectedFromFavoriteSquaote()运行,或者运行我的showFunFact()函数 所以……如果某个序列发生了,用序列标识符“SegueCoughed”来表示。运行此函数selectedFromFavoriteSquote(),否则运行此函数showFunFact()。这能做到吗 我只想说清楚: 如果从Viewcontroller a到Viewcontroller B发生了分段,请在Viewcontroller B中运行selectedFr

如果执行了segue,如何让我的selectedFromFavoriteSquaote()运行,或者运行我的showFunFact()函数

所以……如果某个序列发生了,用序列标识符“SegueCoughed”来表示。运行此函数selectedFromFavoriteSquote(),否则运行此函数showFunFact()。这能做到吗

我只想说清楚:


如果从Viewcontroller a到Viewcontroller B发生了分段,请在Viewcontroller B中运行selectedFromFavoriteSquote()函数


如果从Viewcontroller A到Viewcontroller B之间没有发生分段,则在Viewcontroller B中运行showFunFact()函数

我不确定函数的功能以及它们是否工作,但在将布尔保存为NSUserDefaults时,应将其保存为布尔值并将其检索为布尔值,如下所示:

        if NSUserDefaults.standardUserDefaults().objectForKey("segueHappened")! as Bool == true {
        selectedFromFavouritesQuote()
    } else {
        showFunFact()
    }
视图控制器A-

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setBool(false, forKey: "segueHappened")

if defaults.boolForKey("someBool") {
    println("true")
} else {
    println("false")
    // Perform segue and set segue happened so next time it will evaluate as true
    defaults.setBool(true, forKey: "segueHappened")
}
在VCB中-

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
    if (segue.identifier == "segueToVCBId") {

       let vcb = segue.destinationViewController as ViewControllerB
       vcb.fromVCA=true
    }
}
}


谢谢@Bluehound这就是我最终得到的结果,而且很有效

你的问题不清楚。您将此代码放在哪个函数中。您想在执行segue之前做些不同的事情吗?之后你想换一段吗?很抱歉不清楚,我会编辑这个问题。我的意思是说如果发生了某个事件。运行此函数selectedFromFavoriteSquote(),否则运行此函数showFunFact(),我仍然不知道是否要在源视图控制器或目标视图控制器中运行此函数?我假设目标?如果从Viewcontroller a到Viewcontroller B发生了一个segue,请在Viewcontroller B中运行SelectedFromFavoriteSquote()函数。如果从Viewcontroller a到Viewcontroller B没有segue,请在Viewcontroller B中运行showFunFact()函数。您可以通过segue传递数据(具有下一个Viewcontroller的属性),将值设置为isSeguedFromVCA或isSeguedFromVCC。谢谢。想知道如何使用UserDeafults将所有类型的数据!
var fromVCA=false

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    if (self.fromVCA) {
        self.selectedFromFavouritesQuote()
    }
    else {
        self.showFunFact()
    }
}
        var segueHappened: Bool = (NSUserDefaults.standardUserDefaults().boolForKey("segueHappened"))

        if segueHappened == true {
                self.selectedFromFavouritesQuote()
            } else {
                self.showFunFact()
            }

        NSUserDefaults.standardUserDefaults().setBool(false, forKey: "segueHappened") // we are saving a variable called myName and we are giving it the value of "Bob"
        NSUserDefaults.standardUserDefaults().synchronize()