菜鸟教程小白 发表于 2022-12-11 17:41:57

ios - Swift - 从日历中检索所有事件并获取事件的参与


                                            <p><p>在我的应用程序中,我试图获取在特定时间发生的所有事件。这是我的代码:</p>

<pre><code>    let store = EKEventStore()
    store.requestAccess(to: EKEntityType.event) { (granted, error) in
   if(granted){
      let calendars = store.calendars(for: EKEntityType.event)
      for calendar in calendars {
      let predicate = store.predicateForEvents(withStart: (dates.first?.dateObject)!, end: (dates.last?.dateObject)!, calendars: )

                store.enumerateEvents(matching: predicate){ (event, stop) in
                  print(event.title)

                }

            }

      }else{
      print(error)
      }
</code></pre>

<p>这样做的问题是它只检索生日,而不检索用户创建的事件或当天的假期。
这是我得到的输出:
凯特贝尔诞辰
凯特贝尔诞辰
凯特贝尔诞辰
凯特贝尔诞辰
约翰·苹果籽诞辰
约翰·苹果籽诞辰
约翰·苹果籽诞辰
约翰·苹果籽诞辰
安娜哈罗诞辰
安娜哈罗诞辰
安娜哈罗诞辰
安娜哈罗诞辰
大卫泰勒诞辰
大卫泰勒诞辰
大卫泰勒诞辰
大卫·泰勒的生日</p>

<ul>
<li>那么我怎样才能让它工作,以便我可以获取所有事件,包括用户在其日历上创建的事件。</li>
<li>我如何检索每个事件的参与者?</li>
</ul></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>要从所有日历中获取事件,请将 nil 分配给实例方法 predicateForEvents(withStart:end:calendars:) 的 calendars 参数。</p>

<pre><code>let predicate = store.predicateForEvents(withStart: (dates.first?.dateObject)!, end: (dates.last?.dateObject)!, calendars: nil)
</code></pre>

<p> <a href="https://developer.apple.com/documentation/eventkit/ekeventstore/1507479-predicateforevents" rel="noreferrer noopener nofollow">https://developer.apple.com/documentation/eventkit/ekeventstore/1507479-predicateforevents</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Swift - 从日历中检索所有事件并获取事件的参与,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/39804678/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/39804678/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Swift - 从日历中检索所有事件并获取事件的参与