Swift

2016-03-19 15 views
2

'a ekledikten sonra UILocalNotification'ı aldıktan sonra Soruyu sormadan önce aradım ancak hiçbir şey bulamadım. Benim app bir bildirim planlamak için bu kodu kullanıyorum: Kullanıcı bildirimi almak ya da değil seçebilirsiniz yüzden bir UISegmentedControl kullanıyorumSwift

let firstFormatter = NSDateFormatter() 
    firstFormatter.dateFormat = "MMMM, dd, HH:mm" 

    let date = "\(dueDateTxtField.text) \(notificationTimeTxtField.text)" 

    let fireDate = firstFormatter.dateFromString(date) 

    let realNotification = UILocalNotification() 
    realNotification.fireDate = fireDate 
    realNotification.soundName = UILocalNotificationDefaultSoundName 
    realNotification.alertTitle = "Homework reminder" 
    realNotification.alertBody = "You have a pending \(subjectTxtField.text) homework for tomorrow." 


    let secondFormatter = NSDateFormatter() 
    secondFormatter.dateFormat = "yyyy" 

    let falseNotification = UILocalNotification() 
    falseNotification.fireDate = secondFormatter.dateFromString("2020") 
    falseNotification.soundName = UILocalNotificationDefaultSoundName 
    falseNotification.alertTitle = "This notification will never get to you" 
    falseNotification.alertBody = "Never" 

    if notifyMeSegmentedControl.selectedSegmentIndex == 0 { 
     UIApplication.sharedApplication().scheduleLocalNotification(realNotification) 
    } else { 
     UIApplication.sharedApplication().scheduleLocalNotification(falseNotification) 
    } 

. Yeni bir ev ödevi eklediğimde (uygulama, bir konu, açıklama vb. Eklediğiniz bir ev ödevi uygulamasıdır), "notificationTimeTxtField" ı bir zamana ayarlasam bile şimdi değil.

Lütfen bana neyi yanlış yaptığımı söyle. Şimdiden teşekkürler!

DÜZENLEME: YANGIN TARİHİNİ YAZDIRMAK VE BUNUN İLK NIL OLDUĞU! Metin alanları içinde neden metin olduğu konusunda hiçbir fikrim yok!

+1

Yangın tarihinizi konsolda yazdırırken, ileride bir tarih mi? Ayrıca, kullanıcının bir bildirim almak istemediği durumda, muhtemelen UIApplication.sharedApplication() kullanmak istiyorum. CancelAllLocalNotifications() –

+0

Ben şimdi denedim ve baskı nil !!! Bu nasıl mümkün olabilir? –

+0

Tarihi dönüştürmek için dizeyi düzgün biçimlendirmiyorsunuz. DueDateTextField ve notificationTextTextField nedir? Tam olarak –

cevap

0

Onarıyorum. Sorun, dueDateTxtField'in şu şekilde biçimlendirilmiş olmasıydı: "MMMM, dd, yyyy" ve sadece "MMMM, dd" gibi biçimlendirmeye çalışıyordum. Bu yüzden her ikisini de aynı formatta biçimlendirerek sabitledim ve mükemmel çalışıyor.