Ich versuche eine App zu erstellen, die lokale Benachrichtigungen mit zufälligem Text erhält. Ich habe Code benutzt, aber es funktioniert nicht gut. Es kommt nur "006" oder "005", und es wird sich nicht ändern.Wie wird zufälliger Text in UILocalNotifications verwendet?
Der Code, den ich verwendet wird:
let myArray = ["000", "001", "002", "003", "004", "005", "006"]
let notification = UILocalNotification()
notification.alertBody = myArray[Int(arc4random_uniform(UInt32(myArray.count)))] // text that will be displayed in the notification
notification.fireDate = NSDate() // right now (when notification will be fired)
notification.soundName = UILocalNotificationDefaultSoundName // play default sound
notification.repeatInterval = NSCalendarUnit.NSHourCalendarUnit // this line defines the interval at which the notification will be repeated
UIApplication.sharedApplication().scheduleLocalNotification(notification)
Können Sie mir bitte zeigen, wo ich Fehler gemacht? Vielen Dank.
dieses Codes nicht einmal bekommen genannt, aber Sie starten die App mehrmals? arc4random_uniform ist wahrscheinlich (ich kann mich nicht darum kümmern, es nachzuschlagen) wiederholt zufällig, und wenn es daher immer mit dem gleichen Seed läuft, dann wird es immer die gleiche Ausgabe erzeugen. Wenn es wiederholt zufällig ist, müssen Sie den Anfangswert des Samens auf die aktuelle Zeit in Millisekunden ändern und dann das Ergebnis mit der Array-Anzahl modulieren. – Gruntcakes
@ThePumpingLama Ich habe die Logik davon. Das Problem liegt in 'notification.alertBody = myArray [Int (arc4random_uniform (UInt32 (myArray.count))]]. Kann dieser Teil automatisch ausgeführt werden? Weil alles Code, den ich gepostet habe, in einer Aktion einer Taste ist und wenn ich die Taste drücke, führe ich diesen ganzen Code aus (Code in der Antwort). So ist es in I-Richtung möglich, "alertBody" selbst auszuführen? – Emm
Ja. Aber ich bin verwirrt, weil das, was du anrufst, nichts damit zu tun hat, was du als Samen dazu benutzt hast. Ist das nun eine neue Frage, oder glauben Sie, dass es eine Verbindung gibt? – Gruntcakes