我正在尝试使用calculate
和calculateBoundary
中的函数来初始化值ViewController2
。我遇到了运行时错误,如下图所示。
ViewController1
力,弹簧刚度和弹簧数目然后被传递到的用户输入的值forceView2
,stiffView2
和springNumView2
通过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")
}
}
缺少所需的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] 删除。
我来说两句