我现在开发一个显示 iCloud EKCalendar 列表的 iOS 应用程序。 我的swift代码可以得到一组iCloud EKCalendars,但是顺序总是不一样。 谁能给我一些建议,让我整理一下?
let eventStore = EKEventStore()
let sources = eventStore.sources
for source in sources {
if (source.title == "iCloud") {
let calendars = source.calendars(for: .event)
for calendar in calendars {
print("calendar title = " + calendar.title)
}
}
}
代码结果示例:
calendar title = title1
calendar title = title6
calendar title = title5
calendar title = title3
calendar title = title4
calendar title = title2
最佳答案
所以 let calendars = source.calendars(for: .event)
类型为 Set<EKCalendar>
, 根据定义 Set
是无序的数据类型,所以每当你遍历一个集合时,它总是有不同的顺序,唯一的是 Set
强制执行的是它所设置的对象只有一个实例。
如果您想订购日历,您必须自己订购,一种是通过 title
订购。或 calendarIdentifier
.
关于ios - 如何正确获取一组 EKCalendars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51288691/