I just studied new language for myself - swift, and now i'm stuck on trouble with empty values. I write simple app that searches min and max of an array. But if enter empty values in app - crush will happen with error: fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)
I tried to implement some checks on nil and isEmpty, but app is still crushing.
Here is the code:
import Cocoa
class ViewController: NSViewController {
@IBOutlet weak var inputArrayValues: NSTextField!
@IBOutlet weak var minLabel: NSTextField!
@IBOutlet weak var maxLabel: NSTextField!
@IBAction func arrayMinMax(sender: AnyObject) {
var someData = inputArrayValues.stringValue
let separators = NSCharacterSet(charactersInString: " ,;:|")
let parts = someData.componentsSeparatedByCharactersInSet(separators)
if (someData.characters.count > 0) {
someData = "0"
}
let intArray = parts.map{Double($0)!} // on that line crush occurs
let minArray = intArray.minElement()
let maxArray = intArray.maxElement()
let minString = String(minArray)
let maxString = String(maxArray)
minLabel.stringValue = "The minimal value is \(minString)!"
maxLabel.stringValue = "The maximal value is \(maxString)!"
}
So, how to check for nil and prevent app from crush??