草庐IT

dispatch_group_async

全部标签

ios - NSNotification 与 dispatch_get_main_queue

关于thisquestion我想知道关于何时使用NSNotification(在主线程中有观察者)与使用GCD将工作从后台线程分派(dispatch)到主线程,是否有任何普遍接受的逻辑?似乎使用通知观察器设置,您必须记住在View卸载时拆除观察器,但随后您可靠地忽略了通知,因为将作业分派(dispatch)到主线程可能会导致在以下情况下执行blockView已卸载。因此,在我看来,通知应该提供改进的应用程序稳定性。根据我所读的GCD,我假设调度选项提供了更好的性能?更新:我知道通知和调度可以一起愉快地工作,在某些情况下,应该一起使用。我试图找出是否存在应该/不应该使用的特定情况。一个例

ios - NSNotification 与 dispatch_get_main_queue

关于thisquestion我想知道关于何时使用NSNotification(在主线程中有观察者)与使用GCD将工作从后台线程分派(dispatch)到主线程,是否有任何普遍接受的逻辑?似乎使用通知观察器设置,您必须记住在View卸载时拆除观察器,但随后您可靠地忽略了通知,因为将作业分派(dispatch)到主线程可能会导致在以下情况下执行blockView已卸载。因此,在我看来,通知应该提供改进的应用程序稳定性。根据我所读的GCD,我假设调度选项提供了更好的性能?更新:我知道通知和调度可以一起愉快地工作,在某些情况下,应该一起使用。我试图找出是否存在应该/不应该使用的特定情况。一个例

ios - dispatch_sync 总是在主线程上调度一个 block

我正在使用dispatch_sync执行一个block,并且该block已正确执行。但是这个block是在主线程上执行的。根据Apple文档:Serialqueues(alsoknownasprivatedispatchqueues)executeonetaskatatimeintheorderinwhichtheyareaddedtothequeue.Thecurrentlyexecutingtaskrunsonadistinctthread(whichcanvaryfromtasktotask)thatismanagedbythedispatchqueue.这意味着(或者我的理解)

ios - dispatch_sync 总是在主线程上调度一个 block

我正在使用dispatch_sync执行一个block,并且该block已正确执行。但是这个block是在主线程上执行的。根据Apple文档:Serialqueues(alsoknownasprivatedispatchqueues)executeonetaskatatimeintheorderinwhichtheyareaddedtothequeue.Thecurrentlyexecutingtaskrunsonadistinctthread(whichcanvaryfromtasktotask)thatismanagedbythedispatchqueue.这意味着(或者我的理解)

ios - 属性 "com.apple.security.application-groups in"在设备中不起作用

我在那个.entitlement文件中有一个应用程序,我设置了com.apple.security.application-groups属性,现在应用程序没有在我的iPad上运行,并显示以下错误消息:您的应用程序的代码签名权利文件中指定的权利与您的配置文件中指定的权利不匹配。(0xE8008016)。 最佳答案 每当您更新任何功能时,您都需要生成新的配置文件。原因是您的应用程序ID包含这些功能,并且每当您更新您的应用程序ID功能时,您的旧配置不包含与您的应用程序ID相关的新更改。附加图像应该应用程序ID包含组功能,因此在添加此功能后

ios - 属性 "com.apple.security.application-groups in"在设备中不起作用

我在那个.entitlement文件中有一个应用程序,我设置了com.apple.security.application-groups属性,现在应用程序没有在我的iPad上运行,并显示以下错误消息:您的应用程序的代码签名权利文件中指定的权利与您的配置文件中指定的权利不匹配。(0xE8008016)。 最佳答案 每当您更新任何功能时,您都需要生成新的配置文件。原因是您的应用程序ID包含这些功能,并且每当您更新您的应用程序ID功能时,您的旧配置不包含与您的应用程序ID相关的新更改。附加图像应该应用程序ID包含组功能,因此在添加此功能后

ios - 同步块(synchronized block)和 dispatch_async

当我们在block中调用dispatch_async()时,使用@synchronized()的IOS中的锁会发生什么。例如:idmyID-(void)foobar{@synchronized(myID){dispatch_async(){//dostuffwithmyID};}}锁在dispatch_async调用中是否仍然有效?或者更重要的是,在dispatch_async()中使用另一个@synchronized()调用有什么缺点吗? 最佳答案 假设您正在尝试同步与后台队列中的此myID对象的交互,您希望它以相反的方式进行,即

ios - 同步块(synchronized block)和 dispatch_async

当我们在block中调用dispatch_async()时,使用@synchronized()的IOS中的锁会发生什么。例如:idmyID-(void)foobar{@synchronized(myID){dispatch_async(){//dostuffwithmyID};}}锁在dispatch_async调用中是否仍然有效?或者更重要的是,在dispatch_async()中使用另一个@synchronized()调用有什么缺点吗? 最佳答案 假设您正在尝试同步与后台队列中的此myID对象的交互,您希望它以相反的方式进行,即

Async/Await初学者指南

在JavaScript中,一些操作是异步的。这意味着它们产生的结果或者值不会立即奏效。看看下面的代码:functionfetchDataFromApi(){//Datafetchinglogichereconsole.log(data);}fetchDataFromApi();console.log('Finishedfetchingdata');JavaScript解释器不会等待异步fetchDataFromApi函数完成后再解释下一条语句。因此,在打印API返回的真实数据之前,它就会打印Finishedfetchingdata。大多数情况下,这并不是我们想要的行为。幸运的是,我们可以使用a

ios - 防止 dispatch_after() 后台任务被执行

这是我的问题。当我的应用程序进入后台时,我希望它在一段时间后执行一个功能。这就是我所做的:-(void)applicationDidEnterBackground:(UIApplication*)application{isRunningInBackground=YES;taskIdentifier=[[UIApplicationsharedApplication]beginBackgroundTaskWithExpirationHandler:nil];int64_tdelayInSeconds=30;dispatch_time_tpopTime=dispatch_time(DISP