Swift - 初始化致命错误
Swift - Init fatal error
我正在尝试使用 ViewController2
中 calculate
和 calculateBoundary
的函数来初始化值。我收到 运行 时间错误,如下图所示。
ViewController1
用户输入力值、spring刚度和spring数字,然后通过[=将其传递到forceView2
、stiffView2
和springNumView2
20=]。
2 public 函数
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]
覆盖初始化(){
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
}
我正在尝试使用 ViewController2
中 calculate
和 calculateBoundary
的函数来初始化值。我收到 运行 时间错误,如下图所示。
ViewController1
用户输入力值、spring刚度和spring数字,然后通过[=将其传递到forceView2
、stiffView2
和springNumView2
20=]。
2 public 函数
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]
覆盖初始化(){
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
}