从UISplitViewDetail创建一个代理到在Swift中掌握的错误 [英] errors creating a delegate from UISplitViewDetail to master in Swift
问题描述
SWIFT / IOS 8.2
我试图将我的 CalculatorViewController
设置为委托目标,以便我可以获取数据 - 但是我似乎设置错误: EXC_BAD_ACCESS(code:2)
SWIFT / IOS 8.2
I am trying to set my CalculatorViewController
as the delegate target so I can get data - but I seem to be setting it wrong: "EXC_BAD_ACCESS (code:2)"
(GraphView.swift)
(in GraphView.swift)
protocol CalculatorViewDataSource: class {
func calculateYForXEquals(sender: CalculatorViewController, currentX: CGFloat) ->CGFloat?
}
class GraphView: UIView {
weak var calculatorViewDataSource: CalculatorViewDataSource?
//...
}
(在GraphViewController.swift中)
(in GraphViewController.swift)
class GraphViewController: UIViewController {
@IBOutlet weak var graphView: GraphView! {
didSet{
graphView.calculatorViewDataSource = self.view.superview?.superview as CalculatorViewController
}
}
// ...
}
(在CalculatorViewController.swift中)
(in CalculatorViewController.swift)
class CalculatorViewController: UIViewController, CalculatorViewDataSource{
// ...
}
func calculateYForXEquals(sender: CalculatorViewController, currentX: CGFloat) ->CGFloat? {
return nil
}
问题:
当我尝试在GraphViewController中设置代理时,我遇到了一个EXC_BAD_ACCESS(code:2)错误...任何想法为什么?
I get a crash with a "EXC_BAD_ACCESS (code:2)" error when I try to set the delegate in the GraphViewController... Any idea why?
我不知道如何从 CalculatorViewController
级别进入课堂。
这是故事板:
I don't know how to get to the class from the CalculatorViewController
level.
Here's the storyboard:
-> SplitViewController - NavigationController - (Master) CalculatorViewController
I
NavigationController - (Detail) GraphViewController
推荐答案
尝试这样做:
var graphViewController: GraphViewController?
private func setupSplitViewController() {
let masterNavigationController: AnyObject? = splitViewController?.viewControllers.first
graphViewController = masterNavigationController!.topViewController as? GraphViewController
graphViewController!.graphView.calculatorViewDataSource = self
}
这篇关于从UISplitViewDetail创建一个代理到在Swift中掌握的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!