首页 > 解决方案 > 如何将事件数组保存到 iCalendar

问题描述

我有一些插入事件的代码

     for event in events {
                for ct in 0..<self.holidayArray!.count {
                    if self.dateFormatter2.string(from: event.startDate) == self.holidayArray?[ct].start?.date && event.title == self.holidayArray?[ct].summary {
                        print("\(event.title)")
                        clue = "same data with iCal"
                        //skip data
                    } else { //save data into iCal
                        let startDate = self.holidayArray?[ct].start?.date
                        let endDate = self.holidayArray?[ct].end?.date
                        event.title = self.holidayArray?[ct].summary
                        event.startDate = self.dateFormatter2.date(from: startDate!)
                        print(self.dateFormatter2.date(from: startDate!))
                        event.endDate = self.dateFormatter2.date(from: endDate!)
                        print(self.dateFormatter2.date(from: endDate!))
                        print(event.notes)
                        event.calendar = store.defaultCalendarForNewEvents
                        
                        do {
                            print("\nTITLE = \(event.title)")
                            try self.eventStore.save(event, span: .thisEvent)
                            print("Saved Event\n")
                        } catch let error as NSError {
                            print("failed to save event with error : \(error)")
                        }
                    }
                }
            }

当代码运行时,有时我要保存的数据会error包含详细信息EKErrorDomain Code=11 EKErrorObjectBelongsToDifferentStore,并且一些可以保存的数据具有重复的名称。这是有问题的屏幕截图 [1]:https ://i.stack.imgur.com/TtrIf.png [2]:https ://i.stack.imgur.com/yIiyQ.png

我该如何解决?谢谢你。

标签: iosswiftxcodeicalendar

解决方案


推荐阅读