我目前有一系列作業日,并希望將它們設定為每周提醒 - 這是迄今為止的代碼。
for i in selectedWeekDay {
let dateInfo = Calendar.current.dateComponents([.hour, .minute, .weekday], from: timeSet as! Date)
dateInfo.hour
dateInfo.minute
dateInfo.weekday = i
let trigger = UNCalendarNotificationTrigger(dateMatching: dateInfo, repeats: true)
let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request, withCompletionHandler: {error in
if error != nil
{
print("something went wrong")
}
})
}
此代碼在一個 for 回圈中運行,該回圈通過 selectedWeekDay
selectedWeekDay存盤表示作業日的整數陣列
然后我想dateInfo通過設定變數“timeSet”的時間來設定 - “timeSet”只存盤來自 UIDatePicker 的時間。
然后我將其分配給dateInfo.
我想在“dateInfo”中添加一個作業日,但我收到以下錯誤訊息dateInfo.weekday = i:
Cannot assign to property: 'dateInfo' is a 'let' constant
一旦我將 var 更改dateInfo為 var,我會收到另外兩條錯誤訊息,dateInfo.hour并 dateInfo.minute 說:
Expression resolves to an unused property
誰能幫我解決這個問題?提前致謝
uj5u.com熱心網友回復:
設定 var dateInfo 并洗掉小時 && 分鐘,你不需要在沒有設定值的情況下呼叫它。
var dateInfo = Calendar.current.dateComponents([.hour, .minute, .weekday], from: timeSet as! Date)
//dateInfo.hour
//dateInfo.minute
dateInfo.weekday = i
uj5u.com熱心網友回復:
您不需要更改回圈中的小時和分鐘,實際上最好dateInfo在回圈之前創建然后更新weekday回圈內部
var dateInfo = Calendar.current.dateComponents([.hour, .minute, .weekday], from: timeSet as! Date)
for i in selectedWeekDay {
dateInfo.weekday = i
let trigger = UNCalendarNotificationTrigger(dateMatching: dateInfo, repeats: true)
//... rest of code
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/415462.html
標籤:
上一篇:函式列舉引數型別
