gpt4 book ai didi

ios - performSegue :withSender: sender object

转载 作者:可可西里 更新时间:2023-11-01 05:45:09 25 4
gpt4 key购买 nike

只是想知道发件人对象。

我知道您可以在 prepareForSegue... 方法中访问它,但它在下一个 destinationViewController 中是否可用?

即在 viewDidLoad 中,我可以访问 segueSender 对象或其他东西吗?

我从未在文档中看到过这个,我只是认为它可能有用。

编辑清晰

我不是在问如何执行 segue 或找到 segue 或类似的东西。

假设我有两个 View Controller (VCA 和 VCB)。

有一个从 VCA 到 VCB 的 segue,标识符为“segue”。

在 VCA 中我运行...

[self performSegueWithIdentifier:@"segue" sender:@"Hello world"];

我的问题是我可以从 VCB 访问 @"Hello world"字符串还是它只能在 VCA 中的 prepareForSegue... 方法中使用?

即我可以从目标 Controller 访问 segue 发件人对象吗?

最佳答案

是的,你可以。

老问题,但我会使用 swift 弹出答案

先打电话

performSegueWithIdentifier("<#your segue identifier #>", sender: <#your object you wish to access in next viewController #>)

在 prepareForSegue 中

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

let dest = segue.destinationViewController as! <# your destination vc #>
dest.<# sentThroughObject #> = sender
}
}

然后在 vc 中,你将有一个 var 来接受传递的对象

class NextViewController: UIViewController {

var <# sentThroughObject #> = AnyObject!()

//cast <# sentThroughObject #> as! <#your object#> to use
}

更新:SWIFT 3

performSegue(withIdentifier: "<#your segue identifier #>", sender: <#Object you wish to send to next VC#>)


override func prepare(for segue: NSStoryboardSegue, sender: Any?) {
let destination = segue.destinationController as! <# cast to your destination VC #>
destination.sentViaSegueObject = sender as? <#your object#>
}

在目标 VC 中有一个属性来接受发送的对象

 var sentViaSegueObject = <#your object#>?

关于ios - performSegue :withSender: sender object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17565984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com