如何检索当天的日历活动?

问题描述:

我想检索我的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 
} 
+0

入住这https://*.com/questions/6077613/fetch-all-events-from-eventstore-eventkit-ios它会帮助你 – Bala

+0

我觉得你越来越事件,但我只好重装表readEvents()....可能会起作用。 –

+0

@PradeepKashyap没有它的不工作。 –

可以使用EventKit读取日历event.Apple已经记录了使用EventKit的请参阅下面的Apple链接了解详情。 https://developer.apple.com/library/content/documentation/DataManagement/Conceptual/EventKitProgGuide/ReadingAndWritingEvents.html

+0

我需要使用Swift 3 –

+0

for swift请参阅本教程链接https://www.andrewcbancroft.com/2016/04/28/listing-calendar-events-with-event-kit-and-swift/ –