这是我的情况:我有两个视图控制器: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函数之前被调用。因此,“event”变量为空。因此,我想知道是否可能在ControllerB中在调用这个表格视图函数之前调用prepareforSegue函数?
谢谢。