我不知道如何讓用戶選擇本地通知的重複間隔。我已經鏈接到兩個圖像,其中詳細描述了問題。分段控制:控制重複時間間隔
This is the image of the file where I need to insert the choose from the segmented control
And this is the image of the file where the segmented control is placed.
我不知道如何讓用戶選擇本地通知的重複間隔。我已經鏈接到兩個圖像,其中詳細描述了問題。分段控制:控制重複時間間隔
This is the image of the file where I need to insert the choose from the segmented control
And this is the image of the file where the segmented control is placed.
我通過您的代碼看起來和一個解決方案可能是您的segmentedControl
的值作爲參數添加到您的TodoItem
因爲你已經在gentag
參數現在要做的。
然後在您的addItem
方法你「只是」需要從Int
值你現在有一個NSCalendarUnit
,你可以交給你notification.repeatInterval
轉換。
爲了讓這個美麗的你可以創建一個新的Enum
誰知道如何從Int
到NSCalendarUnit
值轉換,然後你gentag
參數可以是這種類型。
所以,在你有該文件的TodoSchedulingViewController
你可以寫這樣的事情在文件的頂部:
import UIKit
enum RepeatInterval: Int {
case None = 0
case Daily = 1
case Weekly = 2
func toCalendarUnit() -> NSCalendarUnit {
switch self {
case .None:
return NSCalendarUnit(rawValue: 0)
case .Daily:
return NSCalendarUnit.Day
case .Weekly:
return NSCalendarUnit.Weekday
}
}
}
class TodoSchedulingViewController: UIViewController {
...
然後你可以使用這樣的:
在你ViewController
:
let todoItem = TodoItem(deadline:....,
title:....,
gentag: RepeatInterval(rawValue: segmentedControl.selectedSegmentIndex)!, //You can force unwrap here, because you know the value is always one you get from your segmentedControl
UUID......)
在你TodoList
類:
...
notification.userInfo = ["title" : item.title, "UUID" : item.UUID]
notification.repeatInterval = item.gentag.toCalendarUnit()
希望是有道理的。
哦......下回,請發表您的實際代碼,而不是圖像,它可以更容易快速地看到正在發生的事情和方式更快地從你的代碼複製代碼片段到一個答案:)
在哪裏放置代碼的第一部分。以enum RepeatInterval開頭# – Mksteffensen
@Mksteffensen我已經更新了我的答案:) – pbodsk
再次您好,當我使用您提供給我的代碼時,我會失敗更多。這裏是失敗的代碼:''gentag:RepeatInterval(rawValue:segmentedControl.selectedSegmentIndex)!,'這裏是失敗'不能將類型'RepeatInterval'的值轉換爲期望的參數類型'String'' – Mksteffensen