草庐IT

dispatch_main_queue_callback

全部标签

ios - 分派(dispatch)异步代码错误 - Objective C

我是ObjectiveC的新手,但已经在Swift上工作了一段时间。我假设Objectivec在逻辑上与swift相似。在处理json数据请求时,我必须提供一个警报Controller;所以我不得不使用dispatchasync让它快速工作。这是我在Swift中使用的代码:funcalertMessage(message:String)->Void{letalert=UIAlertController(title:"Alert",message:message,preferredStyle:.Alert)letokAction=UIAlertAction(title:"OK",styl

ios - Grand Central Dispatch 和并发任务

我需要执行三个彼此独立的任务,因此我想同时执行它们。但我需要他们都完成通知另一个对象。AFAIK,*dispatch_apply*创建并发线程,但它迭代一个集合或一个对象数组并执行相同的任务多次循环,我想为每个线程执行不同的任务。是否可以使用GCD做我想做的事?如果不是,最好的方法是什么?谢谢! 最佳答案 使用dispatch_group。ConcurrencyProgrammingGuide举个例子,有moreAPI这也可能对您有所帮助。使用dispatch_group_create创建调度组。使用dispatch_group_a

ios - dispatch_semaphore_wait 不等待信号量

我开发了以下方法,用于检查应用程序与服务器通信的能力。该方法执行一个简单的查询,并且知道如果得到结果,应用程序应该已连接(基本的ping机制)。-(BOOL)isAppConnected{__blockBOOLisConnected=NO;dispatch_semaphore_tsemaphore=dispatch_semaphore_create(0);[[SFRestAPIsharedInstance]performSOQLQuery:@"SELECTidFROMAccountLIMIT1"failBlock:^(NSError*e){isConnected=NO;NSLog(@"

ios - 在 main 中捕获 NSException

我接管的iOS应用程序处理NSExceptions的方式与我以前见过的不同,我想知道为什么它现在不起作用。老开发者在main.m文件中有这样的逻辑:intmain(intargc,char*argv[]){@autoreleasepool{intretVal=0;@try{retVal=UIApplicationMain(argc,argv,nil,NSStringFromClass([AppDelegateclass]));}@catch(NSException*exception){////LogictosaveExceptioninDataStore//NSLog(@"Excep

ios - 应用程序在名为 com.apple.CFURLCACHE_work_queue 的线程中崩溃

我的应用程序在名为com.apple.CFURLCACHE_work_queue的线程中崩溃,崩溃日志似乎没有提供任何线索让我找到错误或错误=(Thread10name:Dispatchqueue:com.apple.CFURLCACHE_work_queueThread10Crashed:0libsystem_kernel.dylib0x32e93350__pthread_kill+81libsystem_c.dylib0x3b04011epthread_kill+542libsystem_c.dylib0x3b07c96eabort+903libc++abi.dylib0x343e

iOS: AVQueuePlayer/AVPlayerItem 'An AVPlayerItem can occupy only one position in a player' s queue at a time.'

我一直收到这个错误:'AnAVPlayerItemcanoccupyonlyonepositioninaplayer'squeueatatime.'我对玩家项目进行了NSLog,但似乎没有一个是相等的。此外,我添加这个只是为了确定:if([playercanInsertItem:itemToAddafterItem:nil])[playerinsertItem:itemToAddafterItem:nil];当我不确定这是否可行时(可以在不同的内存位置有两个相同的项目),我编写了一个类别方法来测试玩家是否包含一个项目或与其相同的东西。然而,我仍然遇到错误。我看到很多人在使用MPMovi

ios - Foundation -[NSConcreteMapTable 分配 :key:value:isNew:] Crashed: com. apple.main-thread EXC_BAD_ACCESS KERN_INVALID_ADDRESS at

我有一个只在IOS7中发生的崩溃,我无法重现它,但它经常发生。有人有答案或至少知道问题出在哪里吗?我已经删除了所有关于ios7的警告,但崩溃仍然发生。附上日志。Thread:Crashed:com.apple.main-thread0libobjc.A.dylib0x3b43c626objc_msgSend+51Foundation0x315a9681-[NSConcreteMapTableassign:key:value:isNew:]+682Foundation0x315a95fb-[NSConcreteMapTablesetObject:forKey:]+823Foundatio

ios - 崩溃 : com. twitter.crashlytics.ios.work-queue

我们刚刚通过升级到Fabric(1.2.6.18)和Crashlytics(3.0.9.54)将我们的应用推送到了商店。我们正盯着来自Crashlytics框架的崩溃。有没有人遇到过这个问题并有解决方案?libobjc.A.dylibobjc_msgSend崩溃:com.twitter.crashlytics.ios.work-queue::NSOperation0x1700580c0(QOS:USER_INITIATED)EXC_BAD_ACCESSKERN_INVALID_ADDRESS位于0x0000000111c5beb8 最佳答案

ios - 执行 NSURLRequest 和响应委托(delegate)与使用 dispatch_async 有什么区别?

我正在努力解决异步问题;分派(dispatch)、多线程、运行循环等。有什么区别:1)在给定的方法中创建一个NSURLRequest和NSURLConnection,并让它执行并响应委托(delegate)方法(didReceiveResponse、didReceiveData、connectionDidFinishLoading等),以及2)创建一个block并让它dispatch_async?使用第一种方法,我可以访问委托(delegate)方法(我仍然可以访问那些使用分派(dispatch)的方法吗?),并且委托(delegate)方法的执行在触发(或接近触发)时执行。使用blo

Exception in thread “main“ java.lang.Error: Unresolved compilation problem: 这个错误意味着你在使用一个没有定义的构造函数

Exceptioninthread“main”java.lang.Error:Unresolvedcompilationproblem:这个错误意味着你在使用一个没有定义的构造函数"求矩形面积1.Rectangle()"。你需要确定是否有一个名为Rectangle的构造函数可用,且没有参数。要修复这个问题,你可以尝试以下几个步骤:确保你有一个名为Rectangle的构造函数,并且没有参数。例如:publicRectangle(){}确保你在创建Rectangle对象时使用了正确的构造函数。例如:Rectanglerectangle=newRectangle();如果你已经有了一个带有参数的构造