gpt4 book ai didi

iphone - 将 id 添加到提醒 Objective-C 中的事件

转载 作者:搜寻专家 更新时间:2023-10-30 19:44:02 24 4
gpt4 key购买 nike

我在我的应用程序中使用 Eventkit.framework 添加提醒事件,但是当我在我的应用程序中显示提醒事件时,它会显示 iPhone 中的所有提醒事件,但我只想要显示我添加的提醒事件。

这是我使用模态视图 Controller 添加事件的代码

EKEventEditViewController *addController = [[EKEventEditViewController alloc] initWithNibName:nil bundle:nil];
EKEvent * eve = [EKEvent eventWithEventStore:self.eventStore];

addController.eventStore = self.eventStore;
addController.event = eve;
[self presentModalViewController:addController animated:YES];

这里是检索提醒事件的代码

self.eventStore = [[EKEventStore alloc] init];
self.eventsList = [[NSMutableArray alloc] initWithArray:0];

self.defaultCalendar = [self.eventStore defaultCalendarForNewEvents];
self.navigationController.delegate = self;
[self.eventsList addObjectsFromArray:[self fetchEventsForToday]];

获取事件方法

- (NSArray *)fetchEventsForToday {

NSDate *startDate = [NSDate date];
NSDate *endDate = [NSDate dateWithTimeIntervalSinceNow:86400];

NSArray *calendarArray = [NSArray arrayWithObject:defaultCalendar];

NSPredicate *predicate = [self.eventStore predicateForEventsWithStartDate:startDate endDate:endDate
calendars:calendarArray];

NSArray *events = [self.eventStore eventsMatchingPredicate:predicate];
return events;
}

最佳答案

每个事件都有 eventIdentifier 属性,这是每个事件的唯一标识字符串。当您的应用程序添加事件时,它可以将事件标识符存储在其应用程序数据中,然后在每次启动时加载该列表。您可以通过确保 [self.eventStore eventWithIdentifier:identifier]; 返回有效的 EKEvent 来确保事件没有被删除。当您想要显示您的应用程序添加的事件列表时,您可以只获取与您保存的标识符匹配的事件。由于标识符将永远不会被重复使用,因此该系统不会受到在您的应用之外添加和删除事件的用户的影响。

关于iphone - 将 id 添加到提醒 Objective-C 中的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16772412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com