gpt4 book ai didi

ios - 同步运行异步方法的信号量

转载 作者:行者123 更新时间:2023-11-29 01:18:40 26 4
gpt4 key购买 nike

在我的应用程序中,我使用异步类方法,需要同步运行。

据我了解,我应该使用信号量来完成此任务。使用信号量是我以前从未做过的事情,所以现在我正在努力将它们放在正确的位置。

我希望你们中的一些人可以帮助我。

这是我的代码:

-(void)CreateNewerEventInCalendar:(Event*)myEvent{
[MyCalendar requestAccess:^(BOOL granted, NSError *error) {
if (granted) {
BOOL result = [MyCalendar addEventAt:myEvent.StartPoint withTitle:myEvent.Subject inLocation:myEvent.Location];
if (result) {
// added to calendar
} else {
// unable to create event/calendar
}
} else {
// you don't have permissions to access calendars
}
}];

}

最佳答案

试试这个:

dispatch_semaphore_t sema = dispatch_semaphore_create(0);

[MyCalendar requestAccess:^(BOOL granted, NSError *error) {

// your implementation
dispatch_semaphore_signal(sema);
}];

dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
// continue here

关于ios - 同步运行异步方法的信号量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34858307/

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