Swift - Unwind segue传回零值?

时间:2016-08-13 18:54:41

标签: swift uitableview uiviewcontroller unwind-segue pass-data

我有两个视图控制器。第二个视图控制器托管一个带有自定义单元的表视图,该单元展开回第一个视图控制器并发回与该单元关联的数据。

在第二个视图控制器类中,我实现了didSelectRowAtIndexPath并进行了测试,以查看正确的项是否存储在类属性中。它正确存储了可选值,但是当我尝试在第一个视图控制器中使用该值时,属性将nil打印到控制台。

{{1}}

该物业出现为零的原因是什么?我该怎样做才能解决这种情况?

1 个答案:

答案 0 :(得分:1)

我怀疑您的展开segue 直接连接到didSelectRowAtIndexPath,因此会在didSelectRowAtIndexPath被调用之前触发。

要解决此问题,请将prepareForSegue中的代码移至override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if let indexPath = activitiesTableView.indexPathForSelectedRow { activityPerforming = activityTitles[ indexPath.row ] print(activityPerfoming) // displays optional value I want } }

{{1}}