Swift-初始化致命错误

Cherry_thia

我正在尝试使用calculatecalculateBoundary中的函数来初始化值ViewController2我遇到了运行时错误,如下图所示。

ViewController1

力,弹簧刚度和弹簧数目然后被传递到的用户输入的值forceView2stiffView2springNumView2通过prepareforsegue

2个公共职能

public func calculate (f:[Float], s:[Float], n:NSInteger) -> [Float]

public func calculateBoundary (inout f:[Float], s:[Float], n:NSInteger) -> (forceBound1:Float, forceBound2: Float, displacement:[Float])

ViewController2

import UIKit

class ViewController2: UIViewController , UITableViewDelegate, UITableViewDataSource {

    @IBOutlet var tableview2: UITableView!

    var forceView2 = [Float]()
    var stiffView2 = [Float]()
    var springNumView2 : NSInteger = NSInteger()

    var forceB1 : Float
    var forceB2 : Float
    var SpringD : [Float]

覆盖init(){

        if(isCheckedGlobal) {                          
            (forceB1,forceB2,SpringD) = calculateBoundary(&forceView2, stiffView2, springNumView2) }

        else {                        
        SpringD = calculate(forceView2, stiffView2, springNumView2)
        self.forceB1  = forceView2[0]
        self.forceB2 = 0.0 }

        super.init() 
    }

required init(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}
}

运行时错误

里奥·达布斯(Leo Dabus)

缺少所需的init,将其放在您的销售点下:

required init(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder) 
}

如果boolType == true是多余的,则永远不要进行比较。

If isCheckedGlobal {...} 

如果您需要相反的比较,只需添加!在它前面:

If !isCheckedGlobal {...} 

if isCheckedGlobal {
     (forceB1,forceB2,springD) = calculateBoundary(&forceView2, stiffView2, springNumView2)
} else {
    springD = calculate(forceView2, stiffView2, springNumView2)
    forceB1  = forceView2[0]
    forceB2 = 0.0
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章