gpt4 book ai didi

ios - prepareForSegue 什么时候被调用?

转载 作者:可可西里 更新时间:2023-11-01 00:53:12 26 4
gpt4 key购买 nike

这是我的情况,我有两个 View Controller :viewControllerA 和 tableViewControllerB。在我的 viewControllerA 上,我有一个按钮。当它被按下时,它会调用

self.performSegueWithIdentifier("toControllerB", sender: self)

此外,我编写了一个 prepareforSegue 函数,如下所示:

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

if (segue.identifier == "toControllerB"){

var controllerB = segue.destinationViewController as tableViewControllerB
controllerB.event = self.event
}

在我的 tableViewControllerB 中,我有一个如下所示的函数

var event = nil
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

self.viewDidLoad()
var cell = tableView.dequeueReusableCellWithIdentifier("controllerBCell") as? ControllerBCell ?? ControllerBCell()
//some code
print(event)
return cell

}

当我运行我的应用程序时,似乎在 ControllerA 中的 prepareforSegue 函数之前调用了此 tableview 函数。因此“事件”变量为零。因此,我想知道是否可以在 controllerB 中的这个 tableview 函数之前调用 prepareforSegue 函数?

谢谢

最佳答案

链条是这样的。

  1. 首先调用 prepareForSegue
  2. 然后viewDidLoad被调用
  3. 然后调用 cellForRowAtIndexPath

我猜是你的线路有问题

self.viewDidLoad()

这个函数是自动调用的。我只是在最后尝试了其余代码,它工作正常。

关于ios - prepareForSegue 什么时候被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29452759/

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