Я получаю сообщение об ошибке между «let completePath» и «let nameOfPathHistory». Даже если я печатаю что-то промежуточное, я получил «Неустранимая ошибка» Функция, которую я вызываю с помощью completePath, возвращает значение, которое оно должно вернуть.App сделал сборку, но она не запускает фатальную ошибку: неожиданно найдено нуль при развертывании необязательного значения
Что для меня очень странно, так это то, что когда я создаю приложение, все выглядит нормально, но когда я его запускаю, появляется FATAL ERROR и точка останова.
У кого-то есть идея, почему я получаю эту ошибку?
class ViewController: UIViewController {
@IBOutlet var datePickerCpntainer: UIView!
@IBOutlet var selectedValueLabel: UILabel!
@IBOutlet var selectValuesButton: UIButton!
@IBOutlet var selectDate: UIButton!
@IBOutlet var historyImageView: UIImageView!
var selectedValuefromPicker:String! = ""
var selectedChildInPicker: String! = ""
var childValueString: String! = ""
var selectedDateInPickerBeginn: String! = ""
var timeStampBeginn:String! = ""
var selectedDateInPickerEnde:String! = ""
var timeStampEnde:String! = ""
@IBOutlet var greatView: UIView!
@IBOutlet var containerView: UIView!
//var containerViewState : Bool
override func viewDidLoad() {
super.viewDidLoad()
selectValuesButton.layer.borderColor = UIColor.whiteColor().CGColor
selectValuesButton.layer.borderWidth = 1
selectValuesButton.layer.cornerRadius = 10
selectDate.layer.cornerRadius = 10
let catchPath = CatchPath()
selectedValueLabel.text = selectedValuefromPicker
childValueString = selectedChildInPicker
print("------------->\(childValueString)")
timeStampBeginn = selectedDateInPickerBeginn
timeStampEnde = selectedDateInPickerEnde
print("------------------\(timeStampEnde)")
let completePath = catchPath.CatchThePathWithChid(childValueString,dateBeginn: timeStampBeginn, dateEnde: timeStampEnde)
print(completePath)
let nameOfPathHistory = catchPath.downloadPath(completePath, encoding: NSUTF8StringEncoding)
ImageLoader.sharedLoader.imageForUrl(nameOfPathHistory, encoding: NSUTF8StringEncoding) { (image, url) in
self.historyImageView.image = image!
}
}
@IBAction func selectItem(sender: AnyObject) {
containerView.hidden = false
func UIColorFromRGB(rgbValue: UInt) -> UIColor {
return UIColor(
red: CGFloat((rgbValue & 0xFF0000) >> 16)/255.0,
green: CGFloat((rgbValue & 0x00FF00) >> 8)/255.0,
blue: CGFloat(rgbValue & 0x0000FF)/255.0,
alpha: CGFloat(0.5)
)
}
greatView.backgroundColor = UIColorFromRGB(0x5e9400)
historyImageView.alpha = 0.5
selectValuesButton.alpha = 0.5
selectDate.alpha = 0.5
}
@IBAction func selectDate(sender: AnyObject) {
datePickerCpntainer.hidden = false
}
}
обновление catchPath структура
import Foundation
import UIKit
public struct CatchPath {
func downloadPath (contentsOfURL: NSURL, encoding: NSStringEncoding) -> String{
var namePath:String = "http://wetter.htw-berlin.de/"
do {
let content = try String(contentsOfURL: contentsOfURL, encoding: encoding)
namePath += content
print(namePath)
}
catch {
print(error)
}
return namePath
}
func CatchThePathWithChid (chidValue:String?,dateBeginn:String?, dateEnde:String?)-> NSURL {
var completePathImage = NSURL(string: "")
let completePathWitValuePicker = NSURL(string: "http://wetter.htw-berlin.de/phpFunctions/holePlot.php?begin=\(dateBeginn) &end=\(dateEnde)&\(chidValue)")
if chidValue != nil && dateBeginn != "" {
var completePath = NSURL(string: "http://wetter.htw-berlin.de/phpFunctions/holePlot.php?begin=\(dateBeginn) &end=\(dateEnde)&\(chidValue)")
completePathImage = completePath
} else {
let wetterURLString = NSURL(string: "http://wetter.htw-berlin.de/phpFunctions/holePlot.php?begin=1365976800&end=1366063200&chid[]=6")
completePathImage = wetterURLString
}
print ("-------------------------->\(completePathImage)")
return completePathWitValuePicker!
}
}
Можете ли вы показать нам класс CatchPath? –
Не используйте неявно развернутые опции, когда они вам не нужны, иначе они вернутся, чтобы укусить вас, как они это делали. Код безопасен! Используйте необязательную привязку с обработкой ошибок, используйте опциональность только тогда, когда это необходимо, и т. Д., И эти проблемы исчезнут, как магия. – Moritz