SWIFT /iOS8.2我试图将我的代码设置为代理目标,这样我就可以获取数据--但我似乎设置错了:"EXC_BAD_ACCESS ( CalculatorViewController:2)“
(在GraphView.swift中)
protocol CalculatorViewDataSource: class {
func calculateYForXEquals(sender: CalculatorViewController, currentX: CGFloat) ->CGFloat?
}
class GraphView: UIView {
weak var calculatorViewDataSource: CalculatorViewDataSource?
//...
}(在GraphViewController.swift中)
class GraphViewController: UIViewController {
@IBOutlet weak var graphView: GraphView! {
didSet{
graphView.calculatorViewDataSource = self.view.superview?.superview as CalculatorViewController
}
}
// ...
}(在CalculatorViewController.swift中)
class CalculatorViewController: UIViewController, CalculatorViewDataSource{
// ...
}
func calculateYForXEquals(sender: CalculatorViewController, currentX: CGFloat) ->CGFloat? {
return nil
}问题:
当我尝试在GraphViewController中设置委托时,我得到了一个"EXC_BAD_ACCESS (代码:2)“错误的崩溃...知道为什么吗?
我不知道如何从CalculatorViewController级别到达类。下面是故事板:
-> SplitViewController - NavigationController - (Master) CalculatorViewController
I
NavigationController - (Detail) GraphViewController发布于 2015-07-21 08:35:49
试着这样做:
var graphViewController: GraphViewController?
private func setupSplitViewController() {
let masterNavigationController: AnyObject? = splitViewController?.viewControllers.first
graphViewController = masterNavigationController!.topViewController as? GraphViewController
graphViewController!.graphView.calculatorViewDataSource = self
}https://stackoverflow.com/questions/31528349
复制相似问题