我有这个代码:
var activeCalculators = Calculators()
func numberOfCalculators()->Int{
let activeCalculatorsArray = activeCalculators.calculators
return activeCalculatorsArray!.count
}
struct Calculators
{
var calculators: [Calculator]?
var activeCalculator: Int = -1
var activeSummary: Bool = false
var activeProfits: Bool = false
public func getCalculators()-> [Calculator]
{
return calculators!
}
public mutating func setCalculators(calculators: [Calculator])
{
self.calculators = calculators
}
public func getActiveCalculatorIndex()-> Int
{
return activeCalculator
}
public mutating func setActiveCalculatorIndex( activeCalculator: Int)
{
self.activeCalculator = activeCalculator
}
public func isActiveProfits()-> Bool
{
return activeProfits
}
public mutating func setActiveProfits( activeProfits: Bool)
{
self.activeProfits = activeProfits
}
public func isActiveSummary()-> Bool
{
return activeSummary
}
public mutating func setActiveSummary(activeSummary: Bool)
{
self.activeSummary = activeSummary
}
}
override func viewDidLoad() {
print("XXXXXXXXXXXX: \(numberOfCalculators())")
}
当我运行我的函数时:numberOfCalculators() 我有错误:线程 1:致命错误:在解开可选值时意外发现 nil
我正在尝试将此功能添加到我的课程中:
public func countCalculators()->Int{
return (calculators?.count)!
}
但他们我有错误:
线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)
你怎么能修好呢?
首先,正确打开它:
func numberOfCalculators()->Int{
return activeCalculatorsArray?.count ?? 0
}
public func countCalculators()->Int {
return calculators?.count ?? 0 // Suggested by Alexander
}
那么你需要set something before calling get
。因此,viewDidLoad
不要先调用numberOfCalculators()
call,setCalculators()
这样您就可以为计算器提供一些价值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句