Slide 36
Slide 36 text
Widget 隨機顯⽰⾓⾊名字
struct Provider: TimelineProvider {
func placeholder(in context: Context) -> SimpleEntry {
SimpleEntry(date: Date(), role: Role.data[0])
}
func getSnapshot(in context: Context, completion: @escaping (SimpleEntry) -> ()) {
let entry = SimpleEntry(date: Date(), role: Role.data[0])
completion(entry)
}
func getTimeline(in context: Context, completion: @escaping (Timeline) -> ()) {
var entries: [SimpleEntry] = []
// Generate a timeline consisting of five entries an hour apart, starting from the current date.
let currentDate = Date()
let roles = Role.data
for offset in 0 ..< 100 {
let entryDate = Calendar.current.date(byAdding: .second, value: 10 * offset, to: currentDate)!
let entry = SimpleEntry(date: entryDate, role: roles.randomElement()!)
entries.append(entry)
}
let timeline = Timeline(entries: entries, policy: .atEnd)
completion(timeline)
}
}