我试图从我的第一个ViewController发送数据到我的第二个。在2个ViewControllers之间传递数据
它用一个简单的Int工作正常,但用这个Double它不起作用,我不明白为什么。所以如果你能解释它为什么不起作用,那很酷!
我的第一个视图控制器声明:
var time: Double? = 0.00
然后我尝试把它发送到我的其他的ViewController:
let vc = segue.destination as! MySecondViewController
vc.rows = rows[pathForAVC]
vc.lap = lap[pathForAVC]
vc.indexPath = pathForAVC
vc.time = rows[pathForAVC]["Time"]! as! Double
fatal error: unexpectedly found nil while unwrapping an Optional value
我的第二个视图控制器:
var time: Double? = 0.00
topLabel.text = "\(time!)"
注意:
行是Dictionnary:
var rows: [[String : AnyObject]] = [[:]]
我真的不明白我的错......
这与将值传递给我没有任何关系......它看起来像行[pathForAVC] [“Time”]'似乎没有包含一个值,并且您正在强制展开它。尝试安全地解开它使用'如果让unwrappedTime =行[pathForAVC] [“时间”]为? Double {}' –
那里有太多的力量展开。你应该避免使用它。永远。 – Desdenova
此外,如果您打算在字典中存储'Double's,那么它的类型应该是'[[String:Any]]'。 'Double'符合'Any'而不是'AnyObject'。 – Slayter