2017-07-17 12 views
-1

ユーザーがdatePickerアクションを使用して通知を表示する日時を選択すると、自分のユーザー通知が表示されます。DatePickerを使用して通知をスケジュールする(swift3)

import UIKit 
import UserNotifications 

class ViewController: UIViewController { 

override func viewDidLoad() { 
    super.viewDidLoad() 
     } 

@IBAction func datePicker(_ sender: Any) { 
} 
@IBAction func disaper(_ sender: Any) { 

    let c = UNMutableNotificationContent() 
    c.title = "Lets Roll" 
    c.subtitle = "dx" 
    c.body = "fyb" 

    let t = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false) 
    let r = UNNotificationRequest(identifier: "any", content: c, trigger: t) 

    UNUserNotificationCenter.current().add(r, withCompletionHandler: nil) 

}} 
+0

いいえ、日付ピッカーを使用します。あなたが掲示したコードがあなたの記載された目標にどのように関連しているかをさらに説明してください。 –

+0

datePickerが最初の日付から変更された場合、通知がスケジュールされるようにしたいと思います。 –

+0

あなたは何を試しましたか?あなたが投稿したコードは何ですか、あなたのニーズをどのように満たしていませんか? –

答えて

0

あなたが正確な日付で配信される通知をスケジュールする場合は、UNCalendarNotificationTriggerの代わりUNTimeIntervalNotificationTriggerを使用する必要があります。また、アウトレットをDatePickerに設定する必要があります。これにより、通知トリガーの設定が簡単になります。

let triggerDate = Calendar.current.dateComponents([.year, .month, .day, .hour, .minute], from: datePicker.date) 
let t = UNCalendarNotificationTrigger(dateMatching: triggerDate, repeats: false) 
+0

datePicker.dateはどのように宣言しますか? –

+0

私の答えで言及したように、 'DatePicker'のために' IBOutlet'を設定するだけです。私はIBOutletが 'datePicker'と呼ばれると仮定しました。 –

+0

それは.dateに問題がありますか? "Date型の値を期待した引数型 'DateComponents'に変換できないというエラーメッセージが表示されます。 –

関連する問題