【发布时间】:2014-06-30 09:30:31
【问题描述】:
我正在尝试从子视图控制器回调其父视图。传回的值打印成功,但我得到一个EXC_BAD_INSTRUCTION。
在父视图控制器中,我像这样构造子控制器:
let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
if let vc = storyboard.instantiateViewControllerWithIdentifier("dataEntryView") as? DataEntryViewController {
dataEntryVC = vc
vc.callback = calculateHeartRate
self.presentViewController(dataEntryVC!, animated: true, completion: nil)
}
我像这样从子控制器回调:
@IBAction func done(sender : AnyObject) {
dismissModalViewControllerAnimated(true)
if let cb = callback {
cb(beatCount)
}
}
到父控制器中的这个函数:
func calculateHeartRate(beats : Int?) {
println("Beats = \(beats)")
if beats {
let heartrate = 60/secondsCount * beats!
println("Heart rate \(heartrate)")
}
}
println 正确输出到控制台,然后在“if beats {”行出现异常。
进行这样的回调有什么本质上的错误吗?
【问题讨论】: