我有两个视图控制器。第二个视图控制器托管一个带有自定义单元的表视图,该单元展开回第一个视图控制器并发回与该单元关联的数据。
在第二个视图控制器类中,我实现了didSelectRowAtIndexPath并进行了测试,以查看正确的项是否存储在类属性中。它正确存储了可选值,但是当我尝试在第一个视图控制器中使用该值时,属性将nil打印到控制台。
{{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}}