I have this code:
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())")
}
When i run my function: numberOfCalculators() i have error: Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
I'm trying add this func to my class:
public func countCalculators()->Int{
return (calculators?.count)!
}
but them I have error:
Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
How can you fix it?
-1as a default or sentinel value. Swift has optionals,Int?can benil. Take advantage of that. It'll keep you from accidentally indexing into an array with-1and crashing your program.niloptional array. Does that fit your data model well?