Ich versuche, Benachrichtigung über bestimmte gespeicherte Zeit in der Datenbank und an bestimmten Tag, der Freitag ist wie unten gezeigt, aber jedes Mal versuche ich neue Erinnerung zu speichern, sagt es mir unexpectedly found nil while unwrapping an Optional value
und Ich bin sicher, dass es Daten enthält und es ist nicht Null, obwohl ich versucht, mit Null umzugehen, immer noch der App-Absturz, aber wenn ich versuche, Benachrichtigung ohne Kombination Daten wie diese localNotification.fireDate = reminders.time!
feuern die App ist nicht abgestürzt und es funktioniert gut.versuchen, zwei Daten zu kombinieren verursacht App zum Absturz
Ich denke, das Problem in der Funktion combinateDate, wie kann ich dieses Problem lösen?
func combineDate(time: NSDate?) -> NSDate{
let gregorianCalendar: NSCalendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
let time: NSDateComponents = gregorianCalendar.components([.Hour, .Minute, .Second], fromDate: time!)
time.timeZone = NSTimeZone.systemTimeZone()
let timeCombiner: NSDateComponents = NSDateComponents()
timeCombiner.timeZone = NSTimeZone.systemTimeZone()
timeCombiner.hour = time.hour
timeCombiner.minute = time.minute
timeCombiner.second = 00
timeCombiner.weekday = 6
let combinedDate: NSDate = gregorianCalendar.dateFromComponents(components3)!
return combinedDate
}
func createLocalNotification(){
let localNotification = UILocalNotification()
localNotification.timeZone = NSTimeZone.systemTimeZone()
localNotification.fireDate = combineDate(reminders.time!)
localNotification.alertBody = reminders.name!
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)
}
* "I bin sicher, dass es Daten enthält und es ist nicht Null "*: Warum bist du sicher? Was sind deine Beweise? Die Fehlermeldung sagt Ihnen das genaue Gegenteil. –
Versuchen Sie, beide Funktionen umzuschreiben, ohne das '!' Zu verwenden. Verwenden Sie stattdessen 'if let' und' guard let'. –
gut nachdem ich die App wieder geöffnet habe, wird die Erinnerungstabelle mit der Erinnerung neu geladen, die ich versuchte zu speichern, und wenn ich diese Erinnerung öffne, lädt die Ansicht gerade gut mit Daten, die ich speicherte, wenn ich 'localNotification.fireDate = combineDate ersetze (memories.time!) 'mit' localNotification.fireDate = reminders.time! 'kein Problem passiert – User