2017-05-19 70 views
0

在EKEvent中,一旦我沒有設置任何鬧鐘事件,然後我檢查日曆應用程序,它顯示我5分鐘前警報。爲什麼?我不明白這一點。如何在ios日曆中設置EKEvent中的特定鬧鐘?

我的要求

  • 我想設置兩個警報,警報之前給出具體時間 像 「五分鐘,15分30分,1小時」。 第二次提醒 想在事件時間設置。

  • 在搜索如何添加報警的事件的基礎上,我做了一些事件,但是它不起作用。很多嘗試,但在日曆中沒有影響。

  • 看到下面的代碼我已經嘗試了兩種方式,根據我的要求我使用開關櫃,甚至嘗試添加單個報警。兩者都不起作用。

我該怎麼辦?

給出任何建議,解決方案,想法

感謝

 let event:EKEvent = EKEvent(eventStore: appleEventStore) 

     event.title = tempDescription 
     event.startDate = startDate as Date 
     event.endDate = endDate as Date 
     event.isAllDay = false 
     event.notes = "This is a note" 
     event.calendar = cal 
     do { 
      try appleEventStore.save(event, span: .thisEvent) 
      print("events added with dates:") 

      let alarm = EKAlarm(relativeOffset: 600) 
      event.addAlarm(alarm) 

      switch tempalertid { 

      case "1": 
       let aInterval: TimeInterval = -5 * 60 
       let alaram = EKAlarm(relativeOffset: aInterval) 
       event.addAlarm(alaram) 
      case "2": 
       let aInterval: TimeInterval = -15 * 60 
       let alaram = EKAlarm(relativeOffset: aInterval) 
       event.addAlarm(alaram) 
      case "3": 
       let aInterval: TimeInterval = -30 * 60 
       let alaram = EKAlarm(relativeOffset: aInterval) 
       event.addAlarm(alaram) 
      case "4": 
       let aInterval: TimeInterval = -1 * 60 * 60 
       let alaram = EKAlarm(relativeOffset: aInterval) 
       event.addAlarm(alaram) 

      default: 
       break 
      } 
      if event.hasAlarms { 
       print("yes") 

      } 
      else { 
       print("no") 
      } 

     } catch let e as NSError { 
      print(e.description) 
      return 
     } 
     print("Saved Event") 

回答

1

我有兩個想法:

首先,您要保存您的活動正在創建你的報警之前。

其次,.alarm屬性是一個警報數組,您試圖單獨保存每個警報。

我有一個代碼示例供您參考,不幸的是,它是用Objective-C編寫的。

EKEvent *event = [EKEvent eventWithEventStore:store]; 
EKAlarm *alarmForOneDayBeforeAppointment = [[EKAlarm alloc] init]; 
alarmForOneDayBeforeAppointment.absoluteDate = [self modifyDate:eventDate 
                 withUnit:NSCalendarUnitDay 
                   andQuantity:-1]; 
event.alarms = @[alarmForOneDayBeforeAppointment]; 
[store saveEvent:event span:EKSpanThisEvent error:&err]; 

在將event.alarm設置爲數組後,嘗試保存事件。

+0

你知道嗎幫助我添加自定義頻率的事件,比如我想添加每週頻率,用戶可以選擇多個日期,如用戶可以在每個星期一和星期五添加事件,或者可以是全天或只有一個特定的日期像星期六。我有選定的一天陣列。 – hardik

+0

打開我的新問題鏈接:http://stackoverflow.com/q/44111168/6638267 – hardik

相關問題