【发布时间】:2021-02-24 00:50:52
【问题描述】:
[更新:我提交了 Apple 开发者官方反馈请求,要求更新 EventKit API 和文档]
[更新:我联系了 Apple 支持,他们说要阅读文档...所以我认为 Matt 是正确的,它根本不可用。]
根据Apple Docs,EKReminder 是 EKCalendarItem 的子类。它具有以下(很多)属性:
提醒一下:
- priority: Int - 提醒的优先级。
- startDateComponents:日期组件? - 任务的开始日期。
- dueDateComponents:日期组件? - 提醒应完成的日期。
- isCompleted: Bool - 一个布尔值,用于确定提醒是否标记为已完成。
- completionDate:日期?提醒完成的日期。
作为日历项目:
- 标题:字符串! - 日历项目的标题。
- 位置:字符串? - 与日历项关联的位置。
- 创建日期:日期? - 此日历项目的创建日期。
- lastModifiedDate:日期? - 上次修改日历项目的日期。
- 时区:时区? - 日历项的时区。
- 网址:网址?
- hasNotes: Bool - 一个布尔值,指示日历项是否有备注。
- 注释:字符串? - 与日历项目相关的笔记。
- hasAttendees: Bool - 一个布尔值,指示日历项目是否有与会者。
- 与会者:[EKParticipant]? - 与日历项目关联的与会者,作为 EKParticipant 对象的数组。
我可以从我的应用程序的提醒中打印这些项目中的任何一项。
但是,如果我创建“分配给某人”的提醒,我将无法获取该信息。我知道它必须存放在某个地方。
如果你“打印”一个提醒,你会得到这样的东西:
EKReminder <0x0000000> {title = Do the thing; dueDate = 2021-02-25 08:00:00 +0000; completionDate = (null); priority = 0; calendarItemIdentifier = XXXXX-XXXX-XXXX-XXXX-XXXXXX; alarms = (null)}
如果需要,您可以“打印”任何其他项目,例如 print(reminder.notes!)。
我认为共享项目和分配可能会使用 attendees 属性,但它是 nil - 即使提醒有分配的人。
你怎么能找到指定的人?
【问题讨论】:
-
"如果我创建一个“分配给某人”的提醒"" 这听起来很酷。这样做的用户界面是什么?
-
嗨,@matt - 在 iOS 提醒应用程序中,当您单击提醒行中的 (i) 时,您可以将任务分配给共享列表中的人员。我会在问题中添加一张图片。它仅适用于共享列表(并且“列表”实际上是具有不同名称的日历)。
标签: ios swift eventkit ekreminder