首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Swift中创建从UISplitViewDetail到master的委派时出错

在Swift中创建从UISplitViewDetail到master的委派时出错
EN

Stack Overflow用户
提问于 2015-07-21 08:12:54
回答 1查看 55关注 0票数 0

SWIFT /iOS8.2我试图将我的代码设置为代理目标,这样我就可以获取数据--但我似乎设置错了:"EXC_BAD_ACCESS ( CalculatorViewController:2)“

(在GraphView.swift中)

代码语言:javascript
复制
protocol CalculatorViewDataSource: class {
    func calculateYForXEquals(sender: CalculatorViewController, currentX: CGFloat) ->CGFloat?
}

class GraphView: UIView {
    weak var calculatorViewDataSource: CalculatorViewDataSource?
    //...
}

(在GraphViewController.swift中)

代码语言:javascript
复制
class GraphViewController: UIViewController {
    @IBOutlet weak var graphView: GraphView! {
        didSet{
            graphView.calculatorViewDataSource = self.view.superview?.superview as CalculatorViewController
        }
    }
// ...
}

(在CalculatorViewController.swift中)

代码语言:javascript
复制
class CalculatorViewController: UIViewController, CalculatorViewDataSource{
    // ...
}

func calculateYForXEquals(sender: CalculatorViewController, currentX: CGFloat) ->CGFloat? {
    return nil
}

问题:

当我尝试在GraphViewController中设置委托时,我得到了一个"EXC_BAD_ACCESS (代码:2)“错误的崩溃...知道为什么吗?

我不知道如何从CalculatorViewController级别到达类。下面是故事板:

代码语言:javascript
复制
-> SplitViewController - NavigationController - (Master) CalculatorViewController
         I
     NavigationController - (Detail) GraphViewController
EN

回答 1

Stack Overflow用户

发布于 2015-07-21 08:35:49

试着这样做:

代码语言:javascript
复制
    var graphViewController: GraphViewController?

    private func setupSplitViewController() {
        let masterNavigationController: AnyObject? = splitViewController?.viewControllers.first
        graphViewController = masterNavigationController!.topViewController as? GraphViewController
        graphViewController!.graphView.calculatorViewDataSource = self
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31528349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档