/
TimeIntervalViewController.swift
53 lines (42 loc) · 1.83 KB
/
TimeIntervalViewController.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//
// TimeIntervalViewController.swift
// UserNotificationDemo
//
// Created by WANG WEI on 2016/08/03.
// Copyright © 2016年 OneV's Den. All rights reserved.
//
import UIKit
import UserNotifications
class TimeIntervalViewController: UIViewController {
var notificationType: UserNotificationType!
@IBOutlet weak var descriptionLabel: UILabel!
@IBOutlet weak var timeTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
title = notificationType.title
descriptionLabel.text = notificationType.descriptionText
}
@IBAction func scheduleButtonPressed(_ sender: AnyObject) {
guard let text = timeTextField.text, let timeInterval = TimeInterval(text) else {
print("Not valid time interval")
return
}
// Create notification content
let content = UNMutableNotificationContent()
content.title = "Time Interval Notification"
content.body = "My first notification"
// Create a trigger to decide when/where to present the notification
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: timeInterval, repeats: false)
// Create an identifier for this notification. So you could manage it later.
let requestIdentifier = notificationType.rawValue
// The request describes this notification.
let request = UNNotificationRequest(identifier: requestIdentifier, content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request) { error in
if let error = error {
UIAlertController.showConfirmAlert(message: error.localizedDescription, in: self)
} else {
print("Time Interval Notification scheduled: \(requestIdentifier)")
}
}
}
}