ios - 如何从不同的 segues 中表现不同?

标签 ios swift segue

我有一个 AController,其中有 2 个 segues 连接到 BController

AController 中我这样写:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "FirstSegue"{
        // do something 
    }
    if segue.identifier == "SecondSegue"{
        // do something 
    }
}

然后来到BController,我要找的是这个:

if AController.segue.identifer == "FirstSegue"{
    // do something
}

if AController.segue.identifer == "SecondSegue"{
    // do something
}

我该怎么办?

这是 Storyboard enter image description here

最佳答案

在BController中取一个bool变量

var isFromA:Bool!

在 Controller 中:

 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "FirstSegue"{
        let vc = segue!.destinationViewController as! BController 
        vc.isFromA = true
    }
    if segue.identifier == "SecondSegue"{
        let vc = segue!.destinationViewController as! BController 
        vc.isFromA = false
    }
 }

在 BController 中:

if isFromA == true{
    // do something
} else {
    // do something
}

关于ios - 如何从不同的 segues 中表现不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39865397/

相关文章:

ios - XCTAssert/XCTFail 在异步回调中安全吗?

ios - 当关闭启动位置服务通知错误的 View 时

ios - 图像的 Swift 类型注释

iphone - 上传离线数据和上传失败的数据

ios - SwiftUI - 如何在图像上添加前景线性渐变

swift - 使用 facebook 帐户登录后如何执行 segue?

ios - 使用 segue 中的参数调用函数

ios - Swift 中 ru_RU 的 UITextChecker

ios - Swift:使用异步方法获取值

ios - 条件展开转场