如何检索当天的日历活动?
我想检索我的tableView
中的当前日期的数据/事件,我想我需要使用EventKit
,但不知道如何。如何检索当天的日历活动?
这是我尝试过,但似乎没有工作:这表明只有部分而不是活动
标签class ViewController: UIViewController,UITableViewDelegate{
@IBOutlet weak var taskShow: UITableView!
var titles : [String] = []
override func viewDidLoad() {
super.viewDidLoad()
let eventStore = EKEventStore()
switch EKEventStore.authorizationStatus(for: .event) {
case .authorized:
readEvents()
case .denied:
print("Access denied")
case .notDetermined:
eventStore.requestAccess(to: .event, completion: { (granted: Bool, NSError) -> Void in
if granted {
self.readEvents()
}else{
print("Access denied")
}
})
default:
print("Case Default")
}
self.taskShow.reloadData()
}
func readEvents() {
let eventStore = EKEventStore()
let calendars = eventStore.calendars(for: .event)
for calendar in calendars {
if calendar.source.title == "Work" {
let oneMonthAgo = NSDate(timeIntervalSinceNow: -30*24*3600)
let oneMonthAfter = NSDate(timeIntervalSinceNow: +30*24*3600)
let predicate = eventStore.predicateForEvents(withStart: oneMonthAgo as Date, end: oneMonthAfter as Date, calendars: [calendar])
var events = eventStore.events(matching: predicate)
for event in events {
titles.append(event.title)
}}}}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return titles.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath as IndexPath)
cell.textLabel!.text = titles[indexPath.row]
// Configure the cell...
return cell
}
可以使用EventKit读取日历event.Apple已经记录了使用EventKit的请参阅下面的Apple链接了解详情。 https://developer.apple.com/library/content/documentation/DataManagement/Conceptual/EventKitProgGuide/ReadingAndWritingEvents.html
我需要使用Swift 3 –
for swift请参阅本教程链接https://www.andrewcbancroft.com/2016/04/28/listing-calendar-events-with-event-kit-and-swift/ –
入住这https://stackoverflow.com/questions/6077613/fetch-all-events-from-eventstore-eventkit-ios它会帮助你 – Bala
我觉得你越来越事件,但我只好重装表readEvents()....可能会起作用。 –
@PradeepKashyap没有它的不工作。 –